בקטע הזה מתואר הכלי Synchronizer.
סקירה כללית של כלי הסנכרון
ב-Apigee hybrid, התפקיד העיקרי של רכיב ה-Synchronizer הוא לבצע סקר ולהוריד את חוזי זמן הריצה שמסופקים על ידי מישור הניהול. המידע שמועבר באמצעות חוזה כולל שרתי proxy ל-API, מוצרי API, מטמונים ומארחים וירטואליים. כברירת מחדל, הכלי לסנכרון מאחסן נתוני הגדרות של סביבה במסד הנתונים של Cassandra.
מופעים של Synchronizer שפועלים ב-runtime-plane אמורים לבצע סקרים ב-management-plane באופן קבוע, להוריד את החוזים ולהפוך אותם לזמינים למופעים מקומיים של runtime.
מסנכרן אחד יכול לתמוך בהרבה מעבדי הודעות שנפרסו באותו פוד.
הפעלת הגישה לכלי הסנכרון
צריך לתת ל-Synchronizer הרשאה לשלוף ארטיפקטים של Apigee, כמו חבילות פרוקסי ומשאבים ממישור הניהול. כדי לאשר לסנכרון למשוך ארטיפקטים ממישור הניהול למישור זמן הריצה, צריך לקרוא ל-Apigee API.
- מוודאים שהפעלתם את Apigee API כמו שמוסבר בשלבי ההגדרה של Google Cloud. פרטים נוספים זמינים במאמר בנושא הפעלת ממשקי API.
- מאתרים את מפתח חשבון השירות ב-Google Cloud עם הרשאת כתיבה (קובץ JSON) שהורדתם כחלק מהשלבים של יצירת חשבונות שירות ופרטי כניסה. לחשבון השירות יש את התפקיד Apigee Org Admin והוא נקרא apigee-org-admin. אם לא יצרתם בעבר את חשבון השירות הזה, אתם צריכים לעשות זאת לפני שתמשיכו.
- משתמשים במפתח של חשבון השירות של Apigee Org Admin כדי ליצור אסימון גישה מסוג OAuth 2.0.
הטוקן הזה נדרש לאימות ממשקי ה-API של Apigee.
gcloud
משתמשים ב-gcloud כדי לקבל אסימון גישה מסוג OAuth 2.0, ומעבירים את קובץ ה-JSON של פרטי הכניסה של חשבון השירות שהורדתם באמצעות משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.jsongcloud auth application-default print-access-tokenמוחזר טוקן OAuth2.0.
למידע נוסף, ראו gcloud beta auth application-default print-access-token.
- מעתיקים את אסימון OAuth 2.0 שמוחזר ומאחסנים אותו במשתנה, כמו
TOKEN. לדוגמה:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- קוראים ל-setSyncAuthorization API כדי להפעיל את ההרשאות הנדרשות ל-Synchronizer:
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"]}'כאשר:
-
your_org_name: השם של הארגון ההיברידי. -
synchronizer-manager-service-account-name: השם של חשבון שירות עם התפקיד Apigee Synchronizer Manager. השם מורכב כמו כתובת אימייל. לדוגמה:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
דוגמה:
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"]}'מידע נוסף על ה-API הזה זמין במאמר setSyncAuthorization API.
-
- כדי לוודא שחשבון השירות הוגדר, מפעילים את ה-API הבא כדי לקבל רשימה של חשבונות שירות:
curl -X POST -H "Authorization: Bearer $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=" }