Fehlerbehebung bei der Bereitstellung von Cloud Endpoints-Konfigurationen

Auf dieser Seite wird beschrieben, wie Sie Fehler beheben können, die beim Bereitstellen einer Cloud Endpoints-Konfiguration auftreten können. Die angezeigten Fehlermeldungen enthalten Informationen, die speziell für Ihr Projekt gelten. Zum Beispiel kann eine Fehlermeldung angezeigt werden, die Ihre Projekt-ID enthält. Auf dieser Seite sehen Sie Platzhalterwerte wie YOUR_PROJECT_ID.

Führen Sie nach jedem Schritt den Befehl gcloud endpoints services deploy noch einmal aus, um zu sehen, ob der Fehler behoben wurde.

Konvertierung in Dienstkonfiguration nicht möglich

ERROR: unknown location: http: In path template '[PATH]': unexpected end of input '/'.'

Diese Fehlermeldung wird angezeigt, wenn ein Pfad oder mehrere Pfade in Ihrem OpenAPI-Dokument einen abschließenden Schrägstrich (/) enthalten. Entfernen Sie den abschließenden Schrägstrich aus allen Pfaden, um dieses Problem zu beheben. Das folgende Snippet in einem OpenAPI-Dokument führt beispielsweise zu diesem Fehler:

paths:
  "/echo/":
    post:
      description: "Echo back a given message."

Entfernen Sie den abschließenden Schrägstrich bei /echo/, um das Problem zu beheben:

paths:
  "/echo":
    post:
      description: "Echo back a given message."

Abrufen von Projekteinstellungen unzulässig

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Not allowed to get project settings for project YOUR_PROJECT_ID

  1. Authentifizieren Sie sich noch einmal beim Cloud SDK. Dies dient der Bestätigung, dass Sie sich mit einem Konto authentifiziert haben, das über die Zugriffsrechte für das in der Fehlermeldung angegebene Projekt verfügt:
    gcloud auth login
    

    Ein neuer Browsertab wird geöffnet und Sie werden aufgefordert, ein Konto auszuwählen.

  2. Bestätigen Sie, dass die in der Fehlermeldung angezeigte Projekt-ID dem Google Cloud-Projekt entspricht, für das Sie die Endpoints-Konfiguration bereitstellen möchten:
    gcloud projects list
    
  3. Bestätigen Sie, dass im Cloud SDK die richtige Projekt-ID für das aktuelle Projekt festgelegt ist:
    gcloud config set project YOUR_PROJECT_ID
    

Aufrufender Nutzer hat keine Berechtigung

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Caller does not have permission 'servicemanagement.services.create' on project YOUR_PROJECT_ID

Wenn Sie die Endpoints-Konfiguration zum ersten Mal bereitstellen, erstellt Service Management einen verwalteten Dienst für Ihre API. Zum Erstellen eines verwalteten Dienstes müssen Sie mindestens die Rolle des Bearbeiters auf Projektebene haben. Nachdem Service Management den verwalteten Service erstellt hat, ist zum erneuten Bereitstellen der Endpoints-Konfiguration mindestens die Rolle Dienstkonfigurationsbearbeiter (roles/servicemanagement.configEditor) für den Dienst erforderlich. Weitere Informationen finden Sie unter Zugriff auf die API gewähren.

Inhaberschaft für Domainname kann nicht bestätigt werden

ERROR: (gcloud.endpoints.services.deploy) PERMISSION_DENIED:
Ownership for domain name YOUR_DOMAIN_NAME on project YOUR_PROJECT_ID cannot be verified

  • Falls Sie im Feld host des OpenAPI-Dokuments eine benutzerdefinierte Domain (z. B. example.com) konfiguriert haben, müssen Sie den Domainnamen überprüfen, um das OpenAPI-Dokument bereitstellen zu können.
  • Wenn Sie die Domain cloud.goog verwenden, bestätigen Sie, dass der Wert für das Feld host das folgende Format hat und die Projekt-ID korrekt ist:
    API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
    
  • Wenn Sie die Domain appspot.com verwenden (nur für App Engine unterstützt), bestätigen Sie, dass das Feld host das folgende Format hat und Projekt-ID korrekt ist:
    YOUR_PROJECT_ID.appspot.com
    

Fehlerbehebung bei anderen Fehlern

Wenn Sie einen Fehler erhalten, der hier nicht aufgeführt wird, oder wenn Ihr Problem mit diesen Informationen nicht gelöst werden konnte, führen Sie den Befehl gcloud noch einmal mit dem Flag aus, um sich Fehlerbehebungsinformationen anzeigen zu lassen:

gcloud --verbosity=debug endpoints services deploy openapi.yaml

Weitere Informationen