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:
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:
- Rufen Sie in der Google Cloud Console die Seite API-Hub auf.
- Klicken Sie im linken Navigationsmenü auf Einstellungen, um die Seite Einstellungen zu öffnen.
- Rufen Sie den Tab Projektverknüpfungen auf.
- Wenn Ihr API Gateway-Projekt nicht in der Liste der angehängten Laufzeitprojekte enthalten ist, gehen Sie so vor:
- Klicken Sie auf Laufzeitprojekt anhängen.
Der Bereich Ressource auswählen wird angezeigt. - Klicken Sie auf das Google Cloud -Projekt, in dem API Gateway bereitgestellt wird.
- 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.
- Klicken Sie auf Speichern.
- Klicken Sie auf Laufzeitprojekt anhängen.
- Wenn Ihr API Gateway-Projekt bereits in der Liste der angehängten Laufzeitprojekte aufgeführt ist, gehen Sie so vor:
- Klicken Sie in der Zeile des API Gateway-Laufzeitprojekts auf Einstellungen bearbeiten.
- 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.
- 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.