קישור API Gateway ל-API Hub
בדף הזה מוסבר איך לחבר את API Gateway ל-Apigee API hub כדי שתוכלו לראות את ממשקי ה-API שלכם ולנהל אותם באופן מרכזי.
סקירה כללית
כדי לחבר את API Gateway ל-API Hub, אדמינים של API Gateway צריכים לבצע את השלבים הבאים:
לפני שמתחילים: הקצאת תפקידים
מוודאים שיש לכם את התפקידים המתאימים ב-IAM (המערכת לניהול הזהויות והרשאות הגישה) כדי לחבר את API Gateway ל-API Hub.
בפרויקט שבו תפעילו את API Hub:
- מעניקים תפקידים להקצאת משאבים, כמו שמתואר בקטע לפני שמתחילים בשלבים להקצאת משאבים במרכז ה-API.
בפרויקטים של API Gateway שאתם רוצים לצרף ל-API Hub:
- מעניקים לחשבון המשתמש את התפקיד Cloud API hub Runtime Project Attachment Editor (
roles/apihub.runTimeProjectAttachmentsEditor). - כדי לצרף את פרויקט API Gateway ל-API Hub באמצעות מסוף Google Cloud , צריך להעניק את התפקיד דפדפן (
roles/browser) לחשבון העיקרי.
Provision API hub
כדי לחבר את API Gateway ל-API Hub, צריך להקצות את API Hub בפרויקט המארח. פרויקט מארח הוא פרויקט ב Google Cloud ארגון שלכם ב- Google Cloud , שאתם מגדירים כפרויקט הצרכן של כל המשאבים ב-API Hub. אפשר להקצות מופע אחד של API Hub לכל פרויקט מארח.
כדי לספק גילוי מרכזי של ממשקי API בכל שרתי ה-API Gateway, מומלץ להשתמש בפרויקט מארח ייעודי אחד עבור מופע ה-API Hub ולצרף אליו כמה פרויקטים של API Gateway, שנקראים פרויקטים של זמן ריצה.
כדי להקצות את API Hub בפרויקט המארח, מבצעים אחת מהפעולות הבאות:
במסוף Google Cloud , עוברים לדף API hub, בוחרים את הפרויקט שרוצים להשתמש בו כפרויקט המארח ולוחצים על Set up API hub. Google Cloud
אפשר לגשת לדף הזה מדפים של API Gateway באופן הבא:
- לוחצים על Get started (תחילת העבודה) בבאנר של API Hub בחלק העליון של אחד מהדפים של API Gateway.
- לוחצים על Get started with API hub (תחילת השימוש ב-API Hub) בחלק העליון של הדף APIs (ממשקי API).
לאחר מכן, פועלים לפי השלבים המפורטים להקצאת הרשאות שמתוארים במאמר בנושא הקצאת הרשאות ל-API Hub ב-מסוף Cloud.
משתמשים בשורת הפקודה או ב-Terraform.
צירוף פרויקט API Gateway ל-API Hub
מצרפים את הפרויקט של API Gateway ל-API Hub.
מסוףGoogle Cloud
כדי לצרף פרויקט API Gateway ל-API Hub:
- נכנסים לדף API hub במסוף Google Cloud .
- בתפריט הניווט הימני, לוחצים על הגדרות כדי לפתוח את הדף הגדרות.
- עוברים לכרטיסייה שיוכים לפרויקט.
- אם פרויקט API Gateway לא מופיע ברשימת פרויקטי זמן הריצה המצורפים, צריך לבצע את הפעולות הבאות:
- לוחצים על Attach runtime project (צירוף פרויקט זמן ריצה).
בחלונית Select a resource (בחירת מקור מידע) שמופיעה, - לוחצים על הפרויקט שבו הוקצה API Gateway. Google Cloud
- בחלונית Project association settings (הגדרות שיוך פרויקט), בוחרים באפשרות API Gateway (שער API) ובנכסי API אחרים שרוצים לייבא באופן אוטומטי.
- לוחצים על Save.
- לוחצים על Attach runtime project (צירוף פרויקט זמן ריצה).
- אם פרויקט API Gateway כבר מופיע ברשימת פרויקטי זמן הריצה המצורפים, צריך לבצע את הפעולות הבאות:
- לוחצים על Edit settings (עריכת ההגדרות) בשורה שמשויכת לפרויקט של זמן הריצה של API Gateway.
- בחלונית Project association settings (הגדרות שיוך פרויקט), בוחרים באפשרות API Gateway (שער API) ובנכסי API אחרים שרוצים לייבא באופן אוטומטי.
- לוחצים על Save.
REST
כדי לצרף את פרויקט API Gateway ל-API Hub, משתמשים בממשקי ה-API Create runtime project attachments ו-Create plugin instance.
לדוגמה, כדי ליצור את הקובץ המצורף של פרויקט זמן הריצה:
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'
מחליפים את מה שכתוב בשדות הבאים:
- HUB_PROJECT_ID: השם של פרויקט המארח של מרכז ה-API. פרויקט המארח נבחר כש-API Hub הוקצה.
- HUB_LOCATION: המיקום של פרויקט המארח. המיקום נבחר כשסופקה רכזת API.
- RUNTIME_PROJECT_ID: השם של פרויקט זמן הריצה של API Gateway.
אם הפעולה בוצעה ללא שגיאות, מוחזר אובייקט JSON של RuntimeProjectAttachment.
לאחר מכן, כדי ליצור את מופע הפלאגין של API Gateway:
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"displayName": "API Gateway Plugin Instance",
"sourceProjectId": "RUNTIME_PROJECT_ID",
"actions": [
{
"actionId": "sync-metadata"
}
]
}'
מחליפים את מה שכתוב בשדות הבאים:
- HUB_PROJECT_ID: השם של פרויקט המארח של מרכז ה-API. פרויקט המארח נבחר כש-API Hub הוקצה.
- HUB_LOCATION: המיקום של פרויקט המארח. המיקום נבחר כשסופקה רכזת API.
- PLUGIN_TYPE: סוג הפלאגין. מגדירים את הערך system-api-gateway.
- RUNTIME_PROJECT_ID: השם של פרויקט זמן הריצה של API Gateway.
אם הפעולה בוצעה ללא שגיאות, מוחזר אובייקט JSON מסוג Operation.