Endpoints-Konfiguration bereitstellen

Nachdem Sie die .proto-Datei und die gRPC API-Konfigurationsdatei eingerichtet haben, stellen Sie diese so bereit, dass Cloud Endpoints über die Informationen verfügt, die zum Verwalten der API erforderlich sind. Die Endpoints-Konfiguration wird mit dem Befehl gcloud endpoints services deploy bereitgestellt. Dieser Befehl verwendet Service Infrastructure, die grundlegende Dienstplattform von Google. Sie wird von Endpoints und anderen Diensten verwendet, um APIs und Dienste zu erstellen und zu verwalten. Auf dieser Seite wird beschrieben, wie Sie Konfigurationsdateien in Endpoints bereitstellen.

Vorbereitung

Sie sollten Folgendes bereits haben:

Google Cloud CLI für die Bereitstellung vorbereiten

Verwenden Sie das gcloud-Befehlszeilentool, um die Konfiguration bereitzustellen. Weitere Informationen zu den Befehlen finden Sie in der gcloud-Referenz.

So bereiten Sie die Bereitstellung vor:

  1. Installieren und initialisieren Sie die gcloud CLI.
  2. Aktualisieren Sie die gcloud CLI:
    gcloud components update
  3. Achten Sie darauf, dass die gcloud CLI zum Zugriff auf Ihre Daten und Dienste berechtigt ist:
    gcloud auth login

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

  4. Legen Sie das Standardprojekt fest. Ersetzen Sie [YOUR-PROJECT-ID] durch Ihre GCP-Projekt-ID:
    gcloud config set project [YOUR-PROJECT-ID]
  5. Wenn Sie das API-Back-End in Kubernetes oder Kubernetes Engine bereitstellen, führen Sie den folgenden Befehl aus, um neue Nutzeranmeldedaten zur Verwendung als Standardanmeldedaten für Anwendungen abzurufen. Die Nutzeranmeldedaten sind für die Autorisierung von kubectl erforderlich.
    gcloud auth application-default login
    Ein neuer Browsertab wird geöffnet und Sie werden aufgefordert, ein Konto auszuwählen.

Konfigurationsdateien bereitstellen

  1. Sie müssen sich in dem Verzeichnis befinden, in dem die Dateien api_descriptor.pb und api_config.yaml liegen.
  2. Vergewissern Sie sich, dass das aktuell vom gcloud-Befehlszeilentool verwendete Standardprojekt das Google Cloud-Projekt ist, für das Sie die Endpoints-Konfiguration bereitstellen möchten. Überprüfen Sie anhand der vom folgenden Befehl zurückgegebenen Projekt-ID, ob der Dienst im richtigen Projekt erstellt wird.
    gcloud config list project
    

    Wenn Sie das Standardprojekt ändern müssen, führen Sie den folgenden Befehl aus:

    gcloud config set project YOUR_PROJECT_ID
    
  3. Stellen Sie die Datei proto descriptor und die Konfigurationsdatei mithilfe der Google Cloud CLI bereit:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    Beim Erstellen und Konfigurieren des Dienstes gibt Service Management Informationen an das Terminal aus. Nach Abschluss der Bereitstellung erhalten Sie eine Meldung, die in etwa so aussieht:

    Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]

    CONFIG_ID ist die eindeutige Endpoints-Dienstkonfigurations-ID, die von der Bereitstellung erstellt wird. Beispiel:

    Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
    

    Im obigen Beispiel ist 2017-02-13r0 die Dienstkonfigurations-ID und bookstore.endpoints.example-project.cloud.goog der Dienstname. Die Dienstkonfigurations-ID besteht aus einem Datumsstempel und einer Überarbeitungsnummer. Wenn Sie die Endpoints-Konfiguration am selben Tag noch einmal bereitstellen, erhöht sich die Überarbeitungsnummer in der Dienstkonfigurations-ID.

Wenn die Konfiguration Ihres Diensts auf mehrere YAML-Dateien verteilt ist, können Sie alle Dateien an den Befehl deploy übergeben. Die Hauptkonfiguration für Bookstore befindet sich beispielsweise in api_config.yaml. Sie können jedoch die HTTP-Transcodierung für den Dienst aktivieren, indem Sie zusätzlich api_config_http.yaml bereitstellen. Die Datei enthält zusätzliche Konfigurationen für dieses Feature:

gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml

Sollten Werte in den YAML-Dateien in Konflikt stehen, überschreiben die Werte in der letzten angegebenen Datei alle anderen Werte. Weitere Informationen dazu, wie in Cloud Endpoints mehrere YAML-Dateien zusammengeführt werden, finden Sie unter gRPC API-Dienst konfigurieren.

Wenn Sie eine Fehlermeldung erhalten, finden Sie unter Fehlerbehebung bei der Endpoints-Konfigurationsbereitstellung Information zur Fehlerbehebung.

Neu bereitstellen

Wenn Sie Änderungen an .proto oder Ihrer YAML-Dienstkonfigurationsdatei vornehmen, müssen Sie die Dateien noch einmal bereitstellen, damit der Extensible Service Proxy (ESP) die neueste Version der API-Dienstkonfiguration hat. Wenn Sie bereits den ESP bereitgestellt und dabei die rollout-Option auf managed festgelegt haben, müssen Sie den ESP nicht noch einmal starten oder bereitstellen. Mit der Option rollout=managed legen Sie fest, dass der ESP die zuletzt bereitgestellte Dienstkonfiguration verwendet. Wenn Sie diese Option innerhalb von 5 Minuten nach der Bereitstellung einer neuen Dienstkonfiguration angeben, erkennt der ESP die Änderung und verwendet automatisch die neue Konfiguration. Wir empfehlen, diese Option anstelle einer konkreten Konfigurations-ID anzugeben, die vom ESP verwendet werden soll.

Nach der ersten Bereitstellung der Endpoints-Konfiguration können Sie einem Nutzer, einem Dienstkonto oder einer Gruppe eine Rolle zuweisen, die eine erneute Bereitstellung der Endpoints-Konfiguration zulässt. Weitere Informationen finden Sie unter Zugriff auf die API gewähren und widerrufen.

Weitere Informationen