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 über die gcloud CLI, um zu bestätigen, dass Sie authentifiziert sind. mit einem Konto, das berechtigt ist, auf das in der Fehlermeldung angezeigte Projekt zuzugreifen Nachricht:
    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. Prüfen Sie, ob in der gcloud CLI 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.

Eigentumsrechte für Domainnamen können 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

Nächste Schritte