Esta seção descreve o sincronizador.
Visão geral do Synchronizer
Na Apigee híbrida, a tarefa principal do Synchronizer é pesquisar e fazer o download dos contratos de ambiente de execução fornecidos pelo plano de gerenciamento. As informações comunicadas por contrato incluem proxies de API produtos de API, caches e hosts virtuais. O sincronizador por padrão armazena dados de configuração do ambiente no banco de dados do Cassandra.
Espera-se que as instâncias do Synchronizer em execução no plano de ambiente de execução pesquise o plano de gerenciamento regularmente, faça o download dos contratos e disponibilize o mesmo para instâncias de ambiente de execução local.
Um Synchronizer pode aceitar vários processadores de mensagens implantados no mesmo pod.
Ativar acesso do Synchronizer
É preciso conceder ao Synchronizer permissão para extrair artefatos da Apigee, como recursos e pacotes de proxy do plano de gerenciamento. Você precisa chamar uma API Apigee para autorizar o sincronizador a extrair artefatos do plano de gerenciamento para o plano de ambiente de execução.
- Verifique se você ativou a API Apigee, conforme explicado nas etapas de configuração do GCP. Veja mais detalhes em Etapa 3: ativar APIs.
- Localize a chave da conta de serviço do GCP ativada para gravação (um arquivo JSON) que foi salvo como parte de Criar contas de serviço. A conta de serviço tem o papel Administrador da organização Apigee e é denominada "apigee-org-admin". Se você não criou essa conta de serviço anteriormente, faça isso antes de continuar.
-
Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
para o caminho onde a chave da conta de serviço está localizada:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Chame a API setSyncAuthorization para
ativar as permissões necessárias para o Synchronizer:
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"]}'
Em que:
your_org_name
: o nome da organização híbrida.synchronizer-manager-service-account-name
: o nome de uma conta de serviço com o papel Gerenciador de Synchronizer da Apigee. O nome tem o formato de endereço de e-mail. Por exemplo:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Exemplo:
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"]}'
Para mais informações sobre essa API, consulte API SyncAuthorization .
- Para verificar se a conta de serviço foi definida, chame a seguinte API para receber uma lista de contas
de serviço:
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 ''
A resposta será semelhante a:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }