Esta secção descreve o sincronizador.
Vista geral do sincronizador
No Apigee hybrid, a principal tarefa do sincronizador é sondar e transferir os contratos de tempo de execução fornecidos pelo plano de gestão. As informações comunicadas por contrato incluem proxies de API, produtos de API, caches e anfitriões virtuais. Por predefinição, o sincronizador armazena os dados de configuração do ambiente na base de dados Cassandra.
Espera-se que as instâncias do sincronizador em execução no plano de tempo de execução sondem o plano de gestão regularmente, transfiram os contratos e os disponibilizem às instâncias de tempo de execução locais.
Um sincronizador pode suportar muitos processadores de mensagens implementados no mesmo pod.
Ative o acesso do sincronizador
Tem de conceder a autorização Synchronizer para transferir artefactos do Apigee, como pacotes de proxy e recursos do plano de gestão. Tem de chamar uma API Apigee para autorizar o sincronizador a transferir artefactos do plano de gestão para o plano de tempo de execução.
- Certifique-se de que ativou a API Apigee, conforme explicado nos passos de configuração do Google Cloud. Para obter detalhes, consulte o Passo 3: ative as APIs.
- Localize a chave da conta de serviço da Google Cloud com acesso de escrita (um ficheiro JSON) que transferiu como parte do processo de criação de contas de serviço. A conta de serviço tem a função Apigee Org Admin e é a denominada "apigee-org-admin". Se não criou anteriormente esta conta de serviço, tem de o fazer antes de continuar.
-
Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
para o caminho onde se encontra a chave da conta de serviço:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Chame a API setSyncAuthorization para
ativar as autorizações necessárias para o sincronizador:
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"]}'
Onde:
your_org_name
: o nome da organização híbrida.synchronizer-manager-service-account-name
: o nome de uma conta de serviço com a função Apigee Synchronizer Manager. O nome é formado como um endereço de email. 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 esta API, consulte a API SyncAuthorization.
- Para verificar se a conta de serviço foi definida, chame a seguinte API para obter 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 ''
O resultado tem um aspeto semelhante ao seguinte:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }