Cette section décrit le synchronisateur.
Présentation du synchronisateur
Dans Apigee hybrid, la tâche principale du synchronisateur consiste à interroger et à télécharger les contrats d'exécution fournis par le plan de gestion. Les informations communiquées dans les contrats incluent les proxys d'API, les produits d'API, les caches et les hôtes virtuels. Le synchronisateur stocke par défaut les données de configuration d'environnement dans la base de données Cassandra.
Les instances de synchronisateur exécutées dans le plan d'exécution doivent interroger régulièrement le plan de gestion, télécharger les contrats et les mettre à la disposition des instances d'exécution locales.
Un synchronisateur est compatible avec de nombreux processeurs de messages déployés dans le même pod.
Activer l'accès au synchronisateur
Vous devez accorder l'autorisation Synchronisateur pour extraire des artefacts Apigee, tels que des groupes de proxys et des ressources à partir du plan de gestion. Vous devez appeler une API Apigee pour autoriser le synchronisateur à extraire les artefacts à partir du plan de gestion vers le plan d'exécution.
- Assurez-vous d'avoir activé l'API Apigee, comme expliqué dans les étapes de configuration de Google Cloud. Pour en savoir plus, consultez Activer des API.
- Recherchez la clé de compte de service Google Cloud activée en écriture (un fichier JSON) que vous avez téléchargée lors de la création de comptes de service et d'identifiants. Le compte de service dispose du rôle Administrateur de l'organisation Apigee, dénommé "apigee-org-admin". Si vous n'avez pas encore créé ce compte de service, vous devez le faire avant de continuer.
-
Définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
sur le chemin d'accès à la clé de compte de service :export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Appelez l'API setSyncAuthorization afin d'activer les autorisations requises pour le synchronisateur :
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"]}'
Où :
your_org_name
: nom de l'organisation hybride.synchronizer-manager-service-account-name
: nom d'un compte de service disposant du rôle Gestionnaire de synchronisateur Apigee. Le nom se présente sous la forme d'une adresse e-mail. Par exemple,my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
.
Exemple :
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"]}'
Pour en savoir plus sur cette API, consultez la section API setSyncAuthorization.
- Pour vérifier que le compte de service a été défini, appelez l'API suivante pour obtenir la liste des comptes de service :
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 ''
La sortie ressemble à ceci :
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }