refresh_date: 2023-01-06
Google Cloud bietet Ihnen die Tools, mit denen Sie die Zuverlässigkeit Ihrer Projekte mit Google Cloud Monitoring überwachen und Probleme mit Google Cloud Logging-Fehlerprotokollen beheben können. Wenn bei der Ausführung von Nutzerabsichten ein Fehler auftritt, wird dieser in der Google Home Analytics-Pipeline in Ihren Messwerten erfasst und ein Fehlerprotokoll in Ihren Projektprotokollen veröffentlicht.
Es gibt zwei Schritte zur Fehlerbehebung:
- Behalte den Status deiner Projekte mit Smart-Home-Messwerten im Blick.
- Untersuchen Sie Probleme, indem Sie sich die detaillierten Fehlerbeschreibungen in den Fehlerlogs ansehen.
Monitoringfehler
Mit Google Cloud Monitoring dashboards können Sie auf Ihre Projektmesswerte zugreifen. Es gibt einige wichtige Diagramme, die für das Monitoring der Qualität und die Fehlerbehebung besonders nützlich sind:
- Das Diagramm Success Rate (Erfolgsquote) ist das erste Diagramm, ab dem Sie die Zuverlässigkeit Ihrer Projekte überwachen. Ein Rückgang in diesem Diagramm kann auf einen Ausfall für einen Teil oder alle Nutzer hinweisen. Wir empfehlen, dieses Diagramm nach jeder Änderung oder Aktualisierung Ihres Projekts genau auf Unregelmäßigkeiten zu überwachen.
- Die Diagramme zur Fehleraufschlüsselung sind am nützlichsten, wenn es darum geht, Probleme mit Ihren Integrationen zu beheben. Für jeden Fehler, der im Diagramm mit dem Erfolgsprozentsatz hervorgehoben ist, wird in der Fehleraufschlüsselung ein Fehlercode angezeigt. In der folgenden Tabelle finden Sie die mit dem Symbol Google Home platform gekennzeichneten Fehler und Informationen zur Fehlerbehebung.
Plattformfehlercodes
Im Folgenden finden Sie einige häufige Fehlercodes, die in Ihren Projektprotokollen angezeigt werden können, um Probleme zu identifizieren, die von der Google Home platform erkannt wurden. Weitere Informationen zur Fehlerbehebung finden Sie in der folgenden Tabelle.
Fehlercode | Beschreibung |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google hat von Ihrem Dienst einen anderen HTTP-Fehlercode 4xx als 401 erhalten.
Über das requestId in GCP Logging können Sie die Protokolle Ihres Smart-Home-Dienstes prüfen.
|
BACKEND_FAILURE_URL_TIMEOUT |
Bei der Anfrage von Google kam es zu einer Zeitüberschreitung, als Sie versucht haben, Ihren Dienst zu erreichen.
Prüfen Sie, ob Ihr Dienst online ist, Verbindungen akzeptiert und nicht überlastet ist. Prüfen Sie außerdem, ob das Zielgerät eingeschaltet, online und synchronisiert ist. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google hat von Ihrem Dienst einen HTTP-Fehlercode 5xx erhalten.
Über das requestId in GCP Logging können Sie die Protokolle Ihres Smart-Home-Dienstes prüfen.
|
DEVICE_NOT_FOUND |
Das Gerät ist auf der Seite des Partnerdienstes nicht vorhanden.
Dies weist normalerweise auf einen Fehler bei der Datensynchronisierung oder eine Race-Bedingung hin. |
GAL_BAD_3P_RESPONSE |
Google kann die Antwort Ihres Kontoverknüpfungsdienstes aufgrund eines ungültigen Formats oder ungültiger Werte in der Nutzlast nicht parsen.
Verwenden Sie die requestId in GCP Logging, um Fehlerprotokolle in Ihrem Kontoverknüpfungsservice zu prüfen.
|
GAL_INTERNAL |
Beim Abrufen eines Zugriffstokens ist ein interner Fehler aufgetreten.
Wenn dieser Fehler in den GCP-Logs häufiger auftritt, wenden Sie sich bitte an uns. |
GAL_INVALID_ARGUMENT |
Beim Abrufen eines Zugriffstokens ist ein interner Fehler aufgetreten.
Wenn dieser Fehler in den GCP-Logs häufiger auftritt, wenden Sie sich bitte an uns. |
GAL_NOT_FOUND |
Die in Google gespeicherten Zugriffstokens und Aktualisierungstokens des Nutzers werden ungültig und können nicht mehr aktualisiert werden. Der Nutzer muss sein Konto neu verknüpfen, um Ihren Dienst weiterhin nutzen zu können.
Wenn dieser Fehler in den GCP-Logs häufiger auftritt, wenden Sie sich bitte an uns. |
GAL_PERMISSION_DENIED |
Ein interner Google-Fehler ist aufgetreten, weil die Tokenfreigabe nicht autorisiert ist.
Wenn Sie eine erhöhte Fehlerrate in GCP Logging feststellen, kontaktieren Sie uns für weitere Informationen. |
GAL_REFRESH_IN_PROGRESS |
Das Zugriffstoken des Nutzers ist abgelaufen und ein weiterer gleichzeitiger Aktualisierungsversuch ist bereits im Gange.
Dies ist kein Problem und Sie müssen nichts unternehmen. |
INVALID_AUTH_TOKEN |
Google hat von Ihrem Dienst den HTTP-Fehlercode 401 erhalten.
Das Zugriffstoken ist nicht abgelaufen, wurde aber von deinem Dienst ungültig gemacht. Über das Dreistrich-Menü requestId in GCP Logging können Sie die Protokolle Ihres Smart-Home-Dienstes prüfen.
|
INVALID_JSON |
Die JSON-Antwort kann nicht geparst oder verstanden werden.
Prüfen Sie die Struktur Ihrer JSON-Antwort auf ungültige Syntax, z. B. nicht übereinstimmende Klammern, fehlende Kommas oder ungültige Zeichen. |
OPEN_AUTH_FAILURE |
Das Zugriffstoken des Nutzers ist abgelaufen und Google kann es nicht aktualisieren oder Google hat von Ihrem Dienst einen HTTP-401-Fehlercode erhalten.
Wenn dieser Code häufiger auftritt, prüfen Sie, ob auch die Anzahl der Fehler im Zusammenhang mit Smart-Home-Intents oder Aktualisierungstokenanfragen zugenommen hat. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Die Antwort enthält einen unbekannten Fehlercode.
Wenn die Antwort auf deine Anfrage einen Fehler anzeigt, verwende einen der unterstützten Fehlercodes. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Das Feld „payload “ in der Antwort kann nicht als JSON-Objekt geparst werden.
Prüfen Sie, ob das Nutzlastfeld in Ihrer Antwort auf die Anfrage über übereinstimmende Klammern verfügt und korrekt als JSON-Feld strukturiert ist. |
PARTNER_RESPONSE_INVALID_STATUS |
Die Antwort gibt keinen oder einen falschen Status an.
Antworten auf Anfragen zur Intent-Ausführung sollten einen Status mit SUCCESS, OFFLINE, ERROR, EXCEPTIONS angeben. Weitere Informationen zum Umgang mit Fehlern und Ausnahmen
finden Sie hier.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Mindestens ein in der Anfrage vorhandener Intent fehlt in der Antwort.
Prüfen Sie, ob Ihre Ausführungsantwort korrekt strukturiert ist und ob die Ergebnisse für alle Intents aus der Anfrage in Ihrer Antwort enthalten sind. |
PARTNER_RESPONSE_MISSING_DEVICE |
Ein oder mehrere in der Anfrage vorhandene Geräte fehlen in der Antwort.
Prüfe, ob deine Ausführungsantwort richtig strukturiert ist und alle Geräte-IDs aus der Anfrage in der Antwort enthalten sind. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Die Antwort enthält kein payload -Feld.
Die Antwort auf die Anfrage muss ein Nutzlastfeld enthalten. Hier finden Sie weitere Informationen zum Erstellen einer korrekten Ausführungsantwort. |
PARTNER_RESPONSE_NOT_OBJECT |
Die Antwort kann nicht als JSON-Objekt geparst werden.
Prüfe alle Felder in der Antwort auf unerwünschte Zeichen, nicht übereinstimmende Klammern oder Formatierungsfehler. Einige Unicode-Zeichen werden möglicherweise nicht unterstützt. Achte außerdem darauf, dass deine Antwort korrekt als JSON-Objekt strukturiert ist. |
PROTOCOL_ERROR |
Fehler bei der Verarbeitung der Anfrage.
Mit der requestId in Google Cloud Logging können Sie die Protokolle Ihres Smart-Home-Dienstes prüfen.
|
RESPONSE_TIMEOUT |
Zeitüberschreitung beim Warten auf die Antwort.
Das Zeitlimit für das Senden einer Antwort beträgt 9 Sekunden ab dem Zeitpunkt, an dem die Anfrage gesendet wird. Sie müssen innerhalb dieses Zeitraums antworten. |
RESPONSE_UNAVAILABLE |
Es wird keine Antwort empfangen oder die Antwort enthält keinen Status.
Antworten auf Anfragen zur Intent-Erfüllung sollten gemäß den Smart-Home-Dokumenten strukturiert sein und den Status angeben. |
TRANSIENT_ERROR |
Ein vorübergehender Fehler ist ein Fehler, der sich von selbst behebt.
In den meisten Fällen entstehen diese Fehler durch eine Verbindung zu einem unterbrochenen Gerät oder Dienst. Auch wenn neue Verbindungen zu einem Server nicht geöffnet werden können. |
Suchprotokolle
Sobald Sie mit dem Überwachen Ihrer Integrationen anhand von Messwerten vertraut sind, können Sie mithilfe von Cloud Logging bestimmte Fehler beheben. Ein Fehlerprotokoll ist ein JSON-ähnlicher Eintrag mit Feldern, die nützliche Informationen wie Uhrzeit, Fehlercode und Details zur ursprünglichen Smart-Home-Intent enthalten.
Es gibt mehrere Systeme in Google Cloud, die ständig Protokolle an Ihr Projekt senden. Sie müssen Abfragen schreiben, um Ihre Protokolle zu filtern und die benötigten zu finden. Abfragen können auf einem Zeitraum, einer Ressource, dem Schweregrad des Logs oder benutzerdefinierten Einträgen basieren.
Mit den Abfrageschaltflächen können Sie benutzerdefinierte Filter erstellen.
Wenn Sie einen Zeitraum festlegen möchten, klicken Sie auf die Schaltfläche zur Zeitraumauswahl
und wählen Sie eine der verfügbaren Optionen aus. Dadurch werden die Logs gefiltert und nur die Logs angezeigt, die aus dem ausgewählten Zeitraum stammen.Klicken Sie zum Angeben einer Ressource auf das Drop-down-Menü Ressource und wählen Sie Google Assistant Action Project aus. Dadurch wird der Abfrage ein Filter hinzugefügt, mit dem Logs angezeigt werden, die aus Ihrem Projekt stammen.
Über die Schaltfläche Schweregrad können Sie nach Notfall, Info, Fehlerbehebung und anderen Schweregrad-Logebenen filtern.
Sie können auch das Abfragefeld in der Logs Explorer verwenden, um benutzerdefinierte Einträge einzugeben. Die von diesem Feld verwendete Abfragemaschine unterstützt sowohl grundlegende Abfragen wie den Stringabgleich als auch erweiterte Abfragetypen, einschließlich Vergleichsoperatoren (<, >=, !=
) und booleschen Operatoren (AND, OR, NOT
).
Der folgende benutzerdefinierte Eintrag würde beispielsweise Fehler zurückgeben, die von einem LIGHT
-Gerätetyp stammen:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
In der Abfragebibliothek finden Sie weitere Beispiele für effektive Abfragen von Protokollen.
Korrekturen testen
Nachdem Sie Fehler gefunden und Updates zur Behebung angewendet haben, empfehlen wir Ihnen, die Fehlerbehebungen gründlich mit Google Home Test Suite zu testen. In unserer Anleitung zur Verwendung von Test Suite erfahren Sie, wie Sie Ihre Änderungen effektiv testen.
Lernmaterialien
In diesem Dokument finden Sie Schritte zur Fehlerbehebung bei Smart-Home-Aktionen. Weitere Informationen zum Debuggen finden Sie in unseren Codelabs:
- Codelab zur Fehlerbehebung bei Smart Home: Leitfaden für die Fehlerbehebung bei der Cloud-Integration von Smart Home.
- Codelab zum Beheben von Fehlern bei der lokalen Smart-Home-Einbindung: Schritt-für-Schritt-Anleitung zum Beheben von Fehlern bei der lokalen Smart-Home-Einbindung.