API Gateway mit dem API-Hub verbinden

Auf dieser Seite wird beschrieben, wie Sie API Gateway mit dem Apigee API-Hub verbinden, damit Sie Ihre APIs ansehen und die API-Verwaltung zentralisieren können.

Übersicht

Als API Gateway-Administrator müssen Sie die folgenden Schritte ausführen, um API Gateway mit dem API-Hub zu verbinden:

  1. API-Hub bereitstellen
  2. API Gateway-Projekt an den API-Hub anhängen

Vorbereitung: Rollen zuweisen

Sie benötigen die entsprechenden IAM-Rollen (Identity and Access Management), um API Gateway mit dem API-Hub zu verbinden.

Gehen Sie im Projekt, in dem Sie den API-Hub bereitstellen möchten, so vor:

  • Weisen Sie Rollen für die Bereitstellung zu, wie in den Schritten zur Bereitstellung des API-Hubs unter Vorbereitung beschrieben.

In den API Gateway-Projekten, die Sie an den API-Hub anhängen:

  • Weisen Sie Ihrem Hauptkonto die Rolle Cloud API Hub Runtime Project Attachment Editor (roles/apihub.runTimeProjectAttachmentsEditor) zu.
  • Wenn Sie Ihr API Gateway-Projekt über die Google Cloud Console an den API-Hub anhängen möchten, weisen Sie Ihrem Hauptkonto die Rolle Browser (roles/browser) zu.

API-Hub bereitstellen

Bevor Sie API Gateway mit dem API-Hub verbinden können, müssen Sie den API-Hub in Ihrem Hostprojekt bereitstellen. Ein Hostprojekt ist ein Google Cloud Projekt in Ihrer Google Cloud Organisation, das Sie als Nutzerprojekt für alle API-Hubressourcen festlegen. Pro Hostprojekt kann genau eine API-Hubinstanz bereitgestellt werden.

Damit APIs in allen API-Gateways zentral ermittelt werden können, empfehlen wir, ein dediziertes Hostprojekt für die API-Hubinstanz zu verwenden und mehrere API-Gateway-Projekte, die als Laufzeitprojekte bezeichnet werden, an die API-Hubinstanz anzuhängen.

Um den API-Hub in Ihrem Hostprojekt bereitzustellen, haben Sie folgende Möglichkeiten:

  • Rufen Sie in der Google Cloud Console die Seite API-Hub auf, wählen Sie das Google Cloud -Projekt aus, das als Hostprojekt verwendet werden soll, und klicken Sie auf API-Hub einrichten.

    Sie können auf diese Seite über die API Gateway-Seiten zugreifen:

    • Klicken Sie oben auf einer der API Gateway-Seiten im API-Hub-Banner auf Jetzt starten.
    • Klicken Sie oben auf der Seite „APIs“ auf Erste Schritte mit dem API-Hub.

    Folgen Sie dann der detaillierten Anleitung unter API-Hub in der Cloud Console bereitstellen.

  • Verwenden Sie die Befehlszeile oder Terraform.

API Gateway-Projekt an den API-Hub anhängen

Hängen Sie Ihr API Gateway-Projekt an den API-Hub an.

Google Cloud Console

So hängen Sie ein API Gateway-Projekt an den API-Hub an:

  1. Rufen Sie in der Google Cloud Console die Seite API-Hub auf.

    Zum API-Hub

  2. Klicken Sie im linken Navigationsmenü auf  Einstellungen, um die Seite Einstellungen zu öffnen.
  3. Rufen Sie den Tab Projektverknüpfungen auf.
  4. Wenn Ihr API Gateway-Projekt nicht in der Liste der angehängten Laufzeitprojekte enthalten ist, gehen Sie so vor:
    1. Klicken Sie auf Laufzeitprojekt anhängen.
      Der Bereich Ressource auswählen wird angezeigt.
    2. Klicken Sie auf das Google Cloud -Projekt, in dem API Gateway bereitgestellt wird.
    3. Wählen Sie im Bereich Einstellungen für die Projektzuordnung die Option API Gateway und alle anderen API-Assets aus, die Sie automatisch importieren möchten.
    4. Klicken Sie auf Speichern.
  5. Wenn Ihr API Gateway-Projekt bereits in der Liste der angehängten Laufzeitprojekte aufgeführt ist, gehen Sie so vor:
    1. Klicken Sie in der Zeile des API Gateway-Laufzeitprojekts auf Einstellungen bearbeiten.
    2. Wählen Sie im Bereich Einstellungen für die Projektzuordnung die Option API Gateway und alle anderen API-Assets aus, die Sie automatisch importieren möchten.
    3. Klicken Sie auf Speichern.

REST

Verwenden Sie die APIs Create runtime project attachments und Create plugin instance, um Ihr API Gateway-Projekt an den API-Hub anzuhängen.

So erstellen Sie beispielsweise die Laufzeitprojekt-Anhängung:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'

Ersetzen Sie Folgendes:

  • HUB_PROJECT_ID ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • RUNTIME_PROJECT_ID: Der Name Ihres API Gateway-Laufzeitprojekts.

Bei Erfolg wird ein RuntimeProjectAttachment-JSON-Objekt zurückgegeben.

So erstellen Sie die API Gateway-Plug-in-Instanz:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "API Gateway Plugin Instance",
    "sourceProjectId": "RUNTIME_PROJECT_ID",
    "actions": [
      {
        "actionId": "sync-metadata"
      }
    ]
  }'

Ersetzen Sie Folgendes:

  • HUB_PROJECT_ID ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • PLUGIN_TYPE: Art des Plug-ins. Auf system-api-gateway festgelegt.
  • RUNTIME_PROJECT_ID: Der Name Ihres API Gateway-Laufzeitprojekts.

Bei Erfolg wird ein Operation-JSON-Objekt zurückgegeben.