Bagian ini menjelaskan Sinkronisasi.
Ringkasan sinkronisasi
Pada Apigee Hybrid, tugas utama Sinkronisasi adalah melakukan polling dan mendownload kontrak runtime yang disediakan oleh bidang pengelolaan. Informasi yang dikomunikasikan melalui kontrak mencakup proxy API, produk API, cache, dan host virtual. Sinkronisasi secara default menyimpan data konfigurasi lingkungan dalam database Cassandra.
Instance sinkronisasi yang berjalan di bidang runtime diharapkan melakukan polling pada bidang pengelolaan secara berkala, mendownload kontrak, dan menyediakannya untuk instance runtime lokal.
Satu Penyelaras dapat mendukung banyak Prosesor Pesan yang di-deploy di pod yang sama.
Aktifkan akses Penyinkron
Anda harus memberikan izin Sinkronisasir untuk menarik artefak Apigee, seperti paket proxy dan resource dari bidang pengelolaan. Anda harus memanggil Apigee API untuk mengizinkan Sinkronisasi agar dapat menarik artefak ke bawah dari bidang pengelolaan ke bidang runtime.
- Pastikan Anda telah mengaktifkan Apigee API seperti yang dijelaskan dalam langkah-langkah penyiapan GCP. Untuk mengetahui detailnya, lihat Langkah 3: Aktifkan API.
- Cari kunci akun layanan GCP yang mendukung penulisan (file JSON) yang telah Anda download sebagai bagian dari Create service accounts. Akun layanan memiliki peran Apigee Org Admin dan diberi nama "apigee-org-admin". Jika Anda belum pernah membuat akun layanan ini, Anda harus melakukannya sebelum melanjutkan.
-
Tetapkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ke jalur tempat kunci akun layanan berada:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
- Panggil API setSyncAuthorization untuk mengaktifkan izin yang diperlukan untuk Sinkronisasi:
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"]}'
Dengan keterangan:
your_org_name
: Nama organisasi campuran.synchronizer-manager-service-account-name
: Nama akun layanan dengan peran Apigee Synchronizer Manager. Nama akan dibuat seperti alamat email. Contoh:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Contoh:
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"]}'
Untuk informasi selengkapnya tentang API ini, lihat SyncAuthorization API.
- Untuk memverifikasi bahwa akun layanan telah ditetapkan, panggil API berikut untuk mendapatkan daftar akun layanan:
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 ''
Outputnya terlihat mirip dengan yang berikut ini:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }