Tracciamento dei problemi GRPC
Prima di iniziare
Assicurati di inizializzare e abilitare le autorizzazioni di scrittura prima di scrivere nel file di log. Nell'esempio seguente, il file di log è denominato /var/log/grpc.log
:
touch /var/log/grpc.log
chmod 666 /var/log/grpc.log
In caso di problemi relativi alle autorizzazioni dei file, potrebbe essere necessario precedere i comandi precedenti con sudo
.
Registrazione a un file
Per salvare i log gRPC in un file, aggiungi le seguenti righe al file php.ini
:
grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log
Per scrivere i log in stderr
, escludi l'ultima riga dall'esempio precedente. Per ulteriori informazioni sulle altre opzioni, consulta Variabili di ambiente gRPC.
Dettagli errore
I servizi Google Cloud seguono le linee guida AIP-193 per la restituzione degli errori. I servizi Google Cloud utilizzano un set definito di payload di errore standard, che puoi trovare in google.rpc.error_details.proto. Riguardano gli errori più comuni dell'API, come errori di quota e parametri non validi.
Gli errori dell'API emessi dalle librerie client PHP contengono i campi message
, code
, status
e details
.
Nel campo details
, vengono visualizzati ulteriori dati google.rpc.ErrorInfo
nei campi reason
, domain
e metadata
.
L'esempio seguente mostra un errore che potrebbe essere visualizzato se chiami la libreria di traduzione con un progetto cloud prima di abilitare l'API Traduttore:
Google\ApiCore\ApiException: { "reason": "SERVICE_DISABLED", "domain": "googleapis.com", "errorInfoMetadata": { "consumer": "projects\PROJECT_ID", "service": "translate.googleapis.com" }, "message": "Cloud Translation API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "code": 7, "status": "PERMISSION_DENIED", "details": [ { "@type": "google.rpc.errorinfo-bin", "reason": "SERVICE_DISABLED", "domain": "googleapis.com", "metadata": { "consumer": "projects\PROJECT_ID", "service": "translate.googleapis.com" } }, { "@type": "google.rpc.help-bin", "links": [ { "description": "Google developers console API activation", "url": "https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID" } ] } ] }
Per ulteriori informazioni sul modello di errore generale per le API di Google, consulta Errori dell'API Cloud.