Fehlerbehebung bei Antwortfehlern

Wenn Sie von einer Anfrage an Ihre Cloud Endpoints Frameworks API keine erfolgreiche Antwort erhalten, können Sie mit Cloud Logging in der Google Cloud Console Fehler beheben.

Logs ansehen

  1. Rufen Sie in der Cloud Console die Seite Logging (Loganzeige) auf.

    Loganzeige aufrufen

  2. Wählen Sie in der Drop-down-Liste für Projekte oben auf der Seite das Google Cloud-Projekt aus, in dem Sie die API erstellt haben.

  3. Wählen Sie GAE-Anwendung und Alle Logs aus.

  4. Passen Sie den Zeitraum an, bis Ihnen eine Zeile angezeigt wird, die einen Fehler enthält.

  5. Klicken Sie auf Alle einblenden, um das gesamte Log für den Fehler anzusehen.

Der folgende Abschnitt enthält Informationen zur Fehlerbehebung für bestimmte Fehlermeldungen. Wenn Sie das Problem nicht beheben können, kopieren Sie einen der Logeinträge mit dem Fehler und fügen ihn in eine Textdatei ein. Leiten Sie das Log zusammen mit Ihrer Mitteilung an Google weiter.

503 Service Unavailable

Es kann einige Minuten dauern, bis App Engine erfolgreich auf Anfragen reagiert. Wenn Sie eine Anfrage senden und der Fehler 503 zurückgegeben wird, senden Sie die Anfrage nach ein paar Minuten noch einmal. Falls Sie noch immer keine erfolgreiche Antwort erhalten, prüfen Sie die Cloud Logging-Logs. Im Folgenden finden Sie einige Fehlermeldungen, die in den Cloud Logging-Logs angezeigt werden könnten.

Fehlermeldung Fehlerbehebung
Der Dienst YOUR_PROJECT_ID.appspot.com wurde nicht gefunden oder die Berechtigung verweigert. Wenn dies ein neuer Endpoints-Dienst ist, prüfen Sie, ob Sie die Dienstkonfiguration mit gcloud bereitgestellt haben. Endpoints Frameworks für Python protokolliert diesen Fehler, wenn die Dienstkonfiguration für den Dienst, den Sie in der Datei app.yaml angegeben haben, nicht geladen werden kann. Dieser Fehler kann auftreten, wenn Sie das OpenAPI-Dokument für Ihre API nicht mithilfe von gcloud endpoints services deploy bereitgestellt haben oder die Service Management API nicht aktiviert ist. Wenn Sie das OpenAPI-Dokument für die API bereitstellen, aktiviert der gcloud-Befehl automatisch Folgendes:
  • Service Management API (servicemanagement.googleapis.com)
  • Endpunkte (endpoints.googleapis.com)
  • Cloud APIs (cloudapis.googleapis.com)
Wenn Sie einen dieser Dienste deaktiviert haben, müssen Sie ihn wieder aktivieren. Weitere Informationen finden Sie unter APIs aktivieren und deaktivieren.
Der Dienst YOUR_PROJECT_ID.appspot.com wurde gefunden, die Dienstkonfiguration für Version SERVICE_CONFIG_ID jedoch nicht. Endpoints Frameworks Python protokolliert diesen Fehler, wenn die Dienstkonfiguration-ID, die Sie für ENDPOINTS_SERVICE_VERSION in der Datei app.yaml angegeben haben, nicht gefunden werden kann. So beheben Sie diesen Fehler:
  1. Rufen Sie die Dienstkonfigurations-ID ab.
  2. Bearbeiten Sie die Datei app.yaml und legen Sie ENDPOINTS_SERVICE_VERSION auf die Dienstkonfigurations-ID fest.
  3. Stellen Sie die Anwendung noch einmal bereit:
    
    gcloud app deploy

404 Not Found

Wenn Sie kürzlich zu Endpoints Frameworks Version 2 migriert haben und Ihnen die Fehlermeldung 404 Not Found angezeigt wird, lesen Sie die folgenden Abschnitte, um das Problem zu beheben:

Probleme mit dem Beispiel Invoke-WebRequest

Bei einigen Versionen von Windows PowerShell funktioniert das Beispiel Invoke-WebRequest in den Anleitungen nicht. Wir haben auch einen Bericht erhalten, dass die Antwort eine Liste von Byte ohne Vorzeichen enthielt, die in Zeichen umgewandelt werden mussten. Wenn das Beispiel Invoke-WebRequest nicht das erwartete Ergebnis zurückgibt, versuchen Sie, die Anfrage mit einer anderen Anwendung zu senden. Hier einige Vorschläge dazu:

  • Starten Sie die Cloud Shell und halten Sie sich an die Schritte für Linux aus der Anleitung, die Sie verwendet haben, um die Anfrage zu senden.
  • Verwenden Sie eine Drittanbieteranwendung wie die Chrome-Browsererweiterung Postman (angeboten von www.getpostman.com). Beim Erstellen der Anfrage in Postman:

    • Wählen Sie POST als HTTP-Verb aus.
    • Wählen Sie für den Header den Schlüssel content-type und den Wert application/json aus.
    • Geben Sie als Text Folgendes ein: {"message":"hello world"}
    • Geben Sie die URL für die Beispielanwendung ein. Beispiel:

      https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
      
  • Laden Sie curl herunter und installieren Sie es. Dann führen Sie es in der Eingabeaufforderung aus. Da Windows doppelte Anführungszeichen innerhalb von einfachen Anführungszeichen nicht verarbeitet, müssen Sie die Option --data im Beispiel so ändern: --data "{\"message\":\"hello world\"}"

Weitere Informationen

  • Machen Sie sich zuerst mit der Loganzeige vertraut.

  • Lernen Sie, wie Sie Logs exportieren.

  • Verwenden Sie erweiterte Logabfragen, um Filter zu präzisieren und so beispielsweise alle Anfragen mit einer Latenz von mehr als 300 Millisekunden zu ermitteln.