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
- 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.
- 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
- 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 Feldhost
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 Feldhost
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