בקטע הזה מתואר הכלי Synchronizer.
סקירה כללית של הכלי לסנכרון
ב-Apigee hybrid, התפקיד העיקרי של רכיב ה-Synchronizer הוא לבצע סקר ולהוריד את חוזי זמן הריצה שמסופקים על ידי מישור הניהול. המידע שמועבר באמצעות חוזה כולל שרתי proxy ל-API, מוצרי API, מטמונים ומארחים וירטואליים. כברירת מחדל, הכלי לסנכרון מאחסן נתוני הגדרות של סביבה במסד הנתונים של Cassandra.
מצפים שמופעים של כלי הסנכרון שפועלים במישור זמן הריצה יבצעו שאילתות במישור הניהול באופן קבוע, יורידו את החוזים ויאפשרו למופעים מקומיים של זמן הריצה לגשת אליהם.
מנגנון סנכרון אחד יכול לתמוך בהרבה מעבדי הודעות שפרוסים באותו פוד.
הפעלת הגישה לכלי הסנכרון
עליך להעניק ל-Synchronizer הרשאה לשלוף ארטיפקטים של Apigee, כמו חבילות של שרתי proxy ומשאבים ממישור הניהול. כדי לאשר לסנכרון למשוך ארטיפקטים ממישור הניהול למישור זמן הריצה, צריך לקרוא ל-Apigee API.
- מוודאים שהפעלתם את Apigee API כמו שמוסבר בשלבי ההגדרה של Google Cloud. פרטים נוספים זמינים במאמר בנושא הפעלת ממשקי API.
- מאתרים את מפתח חשבון השירות ב-Google Cloud עם הרשאת כתיבה (קובץ JSON) שהורדתם כחלק מהשלבים של יצירת חשבונות שירות ופרטי כניסה. לחשבון השירות יש את התפקיד Apigee Org Admin והוא נקרא apigee-org-admin. אם לא יצרתם בעבר את חשבון השירות הזה, אתם צריכים לעשות זאת לפני שתמשיכו.
- משתמשים במפתח של חשבון השירות של Apigee Org Admin כדי ליצור אסימון גישה מסוג OAuth 2.0.
הטוקן הזה נדרש לאימות ממשקי Apigee API.
משתמשים ב-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
- קוראים ל-API setSyncAuthorization כדי להפעיל את ההרשאות הנדרשות עבור הכלי לסנכרון:
אין מיקום אחסון הנתונים
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"]}'מיקום אחסון הנתונים
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"]}'כאשר:
-
YOUR_ORG_NAME: השם של הארגון ההיברידי. CONTROL_PLANE_LOCATION: המיקום של נתוני מישור הבקרה אם ההתקנה ההיברידית משתמשת במיקום הנתונים. זהו המיקום שבו מאוחסן תוכן הליבה של הלקוח, כמו חבילות פרוקסי. רשימה של האזורים האפשריים זמינה במאמר אזורי מישור הבקרה של Apigee API שזמינים לשימוש.-
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://us-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 ''
מיקום אחסון הנתונים
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 ''
הפלט אמור להיראות כך:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }