Fehlerbehebung

GRPC-Probleme nachvollziehen

Hinweise

Sie müssen Schreibberechtigungen initialisieren und aktivieren, bevor Sie in die Protokolldatei schreiben können. Im folgenden Beispiel heißt die Protokolldatei /var/log/grpc.log:

touch /var/log/grpc.log
chmod 666 /var/log/grpc.log

Wenn Probleme mit Dateiberechtigungen auftreten, müssen Sie die vorherigen Befehle möglicherweise mit sudo einleiten.

Protokollierung in eine Datei

Wenn Sie gRPC-Protokolle in einer Datei speichern möchten, fügen Sie der php.ini-Datei die folgenden Zeilen hinzu:

grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log

Wenn Sie Logs stattdessen in stderr schreiben möchten, entfernen Sie die letzte Zeile aus dem vorherigen Beispiel. Weitere Informationen zu anderen Optionen finden Sie unter gRPC-Umgebungsvariablen.

Fehlerdetails

Google Cloud-Dienste folgen den Richtlinien von AIP-193, wenn Fehler zurückgegeben werden. Google Cloud-Dienste verwenden eine Reihe standardmäßiger Fehlernutzlasten. Sie finden diese unter google.rpc.error_details.proto. Fehlerdetails decken die gängigsten API-Fehler wie Kontingentfehler und ungültige Parameter ab.

API-Fehler, die von PHP-Clientbibliotheken ausgegeben werden, enthalten die Felder message, code, status und details. Im Feld details werden zusätzliche google.rpc.ErrorInfo-Daten in den Feldern reason, domain und metadata angezeigt. Im folgenden Beispiel wird ein Fehler angezeigt, der auftreten kann, wenn Sie die Übersetzungsbibliothek mit einem Cloud-Projekt aufgerufen haben, bevor Sie die Übersetzungs API aktiviert haben:

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"
                }
            ]
        }
    ]
}

Weitere Informationen zum allgemeinen Fehlermodell für Google APIs finden Sie unter Cloud API-Fehler.