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 artigo 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 artigo Crie contas de serviço e credenciais. 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.
- Use a chave da conta de serviço de administrador organizacional do Apigee para gerar um token de acesso OAuth 2.0.
Este token é necessário para autenticar as
APIs Apigee.
Use o gcloud para obter um token de acesso do OAuth 2.0, transmitindo o ficheiro JSON das credenciais da conta de serviço que transferiu através da variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
gcloud auth application-default print-access-token
É devolvido um token OAuth2.0.
Para mais informações, consulte o artigo gcloud beta auth application-default print-access-token.
- Copie o token OAuth 2.0 devolvido e armazene-o numa variável, como
TOKEN
. Por exemplo:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- Chame a API setSyncAuthorization para
ativar as autorizações necessárias para o sincronizador:
Sem residência de dados
curl -X POST -H "Authorization: Bearer $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 $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"]}'
Residência dos dados
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-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.CONTROL_PLANE_LOCATION
: a localização dos dados do plano de controlo se a sua instalação híbrida usar a residência de dados. Esta é a localização onde o conteúdo principal do cliente, como pacotes de proxy, é armazenado. Para ver uma lista, consulte o artigo Regiões do plano de controlo da API Apigee disponíveis.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 $TOKEN" \ -H "Content-Type:application/json" \ "https://us-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 setSyncAuthorization.
- Para verificar se a conta de serviço foi definida, chame a seguinte API para obter uma lista de contas de serviço:
Sem residência de dados
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Residência dos dados
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-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=" }