קישור API Gateway ל-API Hub

בדף הזה מוסבר איך לחבר את API Gateway ל-Apigee API hub כדי שתוכלו לראות את ממשקי ה-API שלכם ולנהל אותם באופן מרכזי.

סקירה כללית

כדי לחבר את API Gateway ל-API Hub, אדמינים של API Gateway צריכים לבצע את השלבים הבאים:

  1. הקצאת רכזת API
  2. צירוף פרויקט API Gateway ל-API Hub

לפני שמתחילים: הקצאת תפקידים

מוודאים שיש לכם את התפקידים המתאימים ב-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:

  1. נכנסים לדף API hub במסוף Google Cloud .

    כניסה ל-API Hub

  2. בתפריט הניווט הימני, לוחצים על הגדרות כדי לפתוח את הדף הגדרות.
  3. עוברים לכרטיסייה שיוכים לפרויקט.
  4. אם פרויקט API Gateway לא מופיע ברשימת פרויקטי זמן הריצה המצורפים, צריך לבצע את הפעולות הבאות:
    1. לוחצים על Attach runtime project (צירוף פרויקט זמן ריצה).
      בחלונית Select a resource (בחירת מקור מידע) שמופיעה,
    2. לוחצים על הפרויקט שבו הוקצה API Gateway. Google Cloud
    3. בחלונית Project association settings (הגדרות שיוך פרויקט), בוחרים באפשרות API Gateway (שער API) ובנכסי API אחרים שרוצים לייבא באופן אוטומטי.
    4. לוחצים על Save.
  5. אם פרויקט API Gateway כבר מופיע ברשימת פרויקטי זמן הריצה המצורפים, צריך לבצע את הפעולות הבאות:
    1. לוחצים על Edit settings (עריכת ההגדרות) בשורה שמשויכת לפרויקט של זמן הריצה של API Gateway.
    2. בחלונית Project association settings (הגדרות שיוך פרויקט), בוחרים באפשרות API Gateway (שער API) ובנכסי API אחרים שרוצים לייבא באופן אוטומטי.
    3. לוחצים על 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.