Suivi des problèmes liés à GRPC
Avant de commencer
Veillez à initialiser et activer les autorisations d'écriture avant d'écrire dans votre fichier journal. Dans l'exemple suivant, le fichier journal est nommé /var/log/grpc.log
:
touch /var/log/grpc.log
chmod 666 /var/log/grpc.log
Si vous rencontrez des problèmes d'autorisations de fichiers, vous devrez peut-être faire précéder les commandes précédentes avec sudo
.
Enregistrement dans un fichier
Pour enregistrer des journaux gRPC dans un fichier, ajoutez les lignes suivantes à votre fichier php.ini
:
grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log
Pour écrire des journaux dans stderr
, excluez la dernière ligne de l'exemple précédent. Pour en savoir plus sur les autres options, consultez la section Variables d'environnement gRPC.
Détails de l'erreur
Les services Google Cloud suivent les consignes AIP-193 lors du renvoi d'erreurs. Les services Google Cloud utilisent un ensemble défini de charges utiles d'erreur standard, que vous pouvez trouver dans google.rpc.error_details.proto. Celles-ci couvrent les erreurs d'API les plus courantes, telles que les échecs de quota et les paramètres non valides.
Les erreurs d'API émises par les bibliothèques clientes PHP contiennent les champs message
, code
, status
et details
.
Dans le champ details
, des données google.rpc.ErrorInfo
supplémentaires apparaissent dans les champs reason
, domain
et metadata
.
L'exemple suivant montre une erreur qui peut apparaître si vous avez appelé la bibliothèque Translation avec un projet cloud avant d'activer l'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" } ] } ] }
Pour en savoir plus sur le modèle d'erreur général des API Google, consultez la page Erreurs des API Cloud.