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 Google Cloud. Untuk mengetahui detailnya, lihat Mengaktifkan API.
- Temukan kunci akun layanan Google Cloud yang mendukung penulisan (file JSON) yang telah Anda download sebagai bagian dari Create service accounts and credentials. 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.
- Gunakan kunci akun layanan Admin Org Apigee untuk membuat token akses OAuth 2.0.
Token ini diperlukan untuk mengautentikasi Apigee API.
gcloud
Gunakan gcloud untuk mendapatkan token akses OAuth 2.0, dengan meneruskan file JSON kredensial akun layanan yang Anda download menggunakan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
gcloud auth application-default print-access-token
Token OAuth2.0 ditampilkan.
Untuk mengetahui informasi selengkapnya, lihat gcloud beta auth application-default print-access-token.
- Salin token OAuth 2.0 yang ditampilkan dan simpan dalam variabel, seperti
TOKEN
. Contoh:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- Panggil setSyncAuthorization untuk mengaktifkan izin yang diperlukan untuk Sinkronisasi:
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"]}'
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 $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 setSyncAuthorization API.
- Untuk memverifikasi bahwa akun layanan telah ditetapkan, panggil API berikut untuk mendapatkan daftar akun layanan:
curl -X POST -H "Authorization: Bearer $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=" }