In diesem Abschnitt wird der Synchronizer beschrieben.
Synchronizer – Übersicht
In Apigee Hybrid besteht die Hauptaufgabe des Synchronizers darin, die von der Verwaltungsebene bereitgestellten Laufzeitverträge abzurufen und herunterzuladen. Zu den im Vertrag enthaltenen Informationen gehören API-Proxys, API-Produkte, Caches und virtuelle Hosts. Synchronizer speichert standardmäßig Umgebungskonfigurationsdaten in der Cassandra-Datenbank.
Synchronizer-Instanzen, die in der Laufzeitebene ausgeführt werden, sollten regelmäßig die Verwaltungsebene abfragen, die Verträge herunterladen und diese den lokalen Laufzeitinstanzen zur Verfügung stellen.
Ein Synchronizer unterstützt viele Nachrichtenverarbeiter, die im gleichen Pod bereitgestellt sind.
Synchronizer-Zugriff aktivieren
Sie müssen die Berechtigung Synchronizer erteilen, um Apigee-Artefakte wie Proxy-Bundles und Ressourcen von der Verwaltungsebene abzurufen. Sie müssen eine Apigee API aufrufen, um den Synchronizer zu autorisieren, Artefakte von der Verwaltungsebene zur Laufzeitebene abzurufen.
- Prüfen Sie, ob die Apigee API wie in den Google Cloud-Einrichtungsschritten beschrieben aktiviert wurde. Weitere Informationen finden Sie unter Schritt 3: APIs aktivieren.
- Suchen Sie nach dem schreibberechtigten Google Cloud-Dienstkontoschlüssel (eine JSON-Datei), den Sie im Abschnitt Dienstkonten erstellen heruntergeladen haben. Das Dienstkonto hat die Rolle Apigee-Organisationsadministrator und den Namen "apigee-org-admin". Wenn Sie dieses Dienstkonto nicht zuvor erstellt haben, müssen Sie dies tun, bevor Sie fortfahren.
-
Legen Sie die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
auf den Pfad fest, in dem sich der Dienstkontoschlüssel befindet:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Rufen Sie die setSyncAuthorization API auf, um die erforderlichen Berechtigungen für Synchronizer zu aktivieren:
curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \ -d '{"identities":["serviceAccount:synchronizer-manager-service-account-name"]}'
Dabei gilt:
your_org_name
ist der Name der Hybridorganisation.synchronizer-manager-service-account-name
ist der Name eines Dienstkontos mit der Rolle Apigee Synchronizer Manager. Der Name sieht wie eine E-Mail-Adresse aus. Beispiel:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Beispiel:
curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \ -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
Weitere Informationen zu dieser API finden Sie unter SyncAuthorization API.
- Rufen Sie die folgende API auf, um eine Liste der Dienstkonten abzurufen. So können Sie prüfen, ob das Dienstkonto entsprechend festgelegt wurde:
curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Die Ausgabe sieht dann ungefähr so aus:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }