Esta seção descreve o sincronizador.
Visão geral do Synchronizer
No híbrido da Apigee, 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.
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
Você precisa conceder ao Sincronizador permissão para extrair artefatos da Apigee, como pacotes de proxy e recursos 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=" }