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. Make sure you are in the directory where the api_descriptor.pb and api_config.yaml files are located.
  2. Confirm that the default project that the gcloud command-line tool is currently using is the Google Cloud project that you want to deploy the Endpoints configuration to. Validate the project ID returned from the following command to make sure that the service doesn't get created in the wrong project.
    gcloud config list project
    

    If you need to change the default project, run the following command:

    gcloud config set project YOUR_PROJECT_ID
    
  3. Deploy the proto descriptor file and the configuration file by using the Google Cloud CLI:
    gcloud endpoints services deploy api_descriptor.pb api_config.yaml
    

    As it is creating and configuring the service, Service Management outputs information to the terminal. When the deployment completes, a message similar to the following is displayed:

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

    CONFIG_ID is the unique Endpoints service configuration ID created by the deployment. For example:

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

    In the previous example, 2017-02-13r0 is the service configuration ID and bookstore.endpoints.example-project.cloud.goog is the service name. The service configuration ID consists of a date stamp followed by a revision number. If you deploy the Endpoints configuration again on the same day, the revision number is incremented in the service configuration 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