本節將說明 Synchronizer。
同步處理工具總覽
在 Apigee hybrid 中,Synchronizer 的主要工作是輪詢及下載管理層提供的執行階段合約。透過合約傳送的資訊包括 API Proxy、API 產品、快取和虛擬主機。
在執行階段層級執行的同步器執行個體應定期輪詢管理層級,下載合約,並將合約提供給本機執行階段執行個體。
一個 Synchronizer 可支援在同一個 Pod 中部署的多個 Message Processor。
啟用同步處理工具存取權
您必須授予Synchronizer 權限,才能從管理層面下載 Apigee 構件,例如 Proxy 套件和資源。您必須呼叫 Apigee API,授權同步處理工具將構件從管理單元拉至執行階段單元。
- 確認您已按照 GCP 設定步驟所述啟用 Apigee API。 詳情請參閱「步驟 3:啟用 API」。
- 找出您在建立服務帳戶時下載的可寫入 GCP 服務帳戶金鑰 (JSON 檔案)。服務帳戶具備「Apigee Org Admin」角色,且名稱為「apigee-org-admin」。如果您先前未建立這個服務帳戶,請先建立帳戶再繼續操作。
-
將
GOOGLE_APPLICATION_CREDENTIALS
環境變數設為服務帳戶金鑰所在的路徑:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- 請呼叫 setSyncAuthorization API,為 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"]}'
其中:
your_org_name
:混合型機構的名稱。synchronizer-manager-service-account-name
:具備 Apigee 同步處理工具管理員角色的服務帳戶名稱。名稱的格式類似電子郵件地址。例如:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
範例:
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"]}'
如要進一步瞭解這個 API,請參閱 SyncAuthorization API。
- 如要確認已設定服務帳戶,請呼叫下列 API 取得服務帳戶清單:
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 ''
輸出看起來類似以下內容:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }