Rastreamento de problemas do gRPC
Antes de começar
Inicialize e ative as permissões de gravação antes de gravar no arquivo de
registro. No exemplo a seguir, o arquivo de registro é chamado de /var/log/grpc.log:
touch /var/log/grpc.logchmod 666 /var/log/grpc.log
Se você encontrar problemas de permissões de arquivo, talvez seja necessário preceder os
comandos anteriores com sudo.
Registro em um arquivo
Para salvar os registros do gRPC em um arquivo, adicione as seguintes linhas ao arquivo php.ini:
grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log
Para gravar registros em stderr, exclua a última linha do exemplo anterior. Para mais informações sobre outras opções, consulte
variáveis de ambiente
do gRPC.
Detalhes do erro
Os serviços do Google Cloud seguem as diretrizes da AIP-193 ao retornar erros. Os serviços do Google Cloud usam um conjunto definido de payloads de erro padrão, que podem ser encontrados em google.rpc.error_details.proto. Eles abrangem os erros de API mais comuns, como falha de cota e parâmetros inválidos.
Os erros de API emitidos pelas bibliotecas de cliente PHP contêm os campos message, code, status e details.
No campo details, outros dados de google.rpc.ErrorInfo aparecem nos campos reason, domain e metadata.
O exemplo a seguir mostra um erro que pode aparecer se você chamar a biblioteca
Translation com um projeto do Cloud antes de ativar a API Translate:
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"
}
]
}
]
}Para mais informações sobre o modelo geral de erros das APIs do Google, consulte Erros das APIs do Cloud.