פריסת API בשער

בדף הזה מוסבר איך לפרוס API ל-API Gateway.

דרישות מוקדמות

לפני שפורסים API ל-API Gateway, צריך לוודא שביצעתם את הפעולות הבאות:

דרישות לגבי מזהה שער

בפקודות רבות של ה-CLI של gcloud שמוצגות בהמשך צריך לציין את מזהה השער בפורמט: GATEWAY_ID. ‫API Gateway אוכף את הדרישות הבאות לגבי מזהה השער:

  • האורך המקסימלי הוא 49 תווים.
  • השם צריך להכיל רק אותיות קטנות, מספרים או מקפים.
  • השם לא יכול להתחיל במקף.
  • אסור להכיל קו תחתון.

הגדרת נקודת הקצה של תצורת ה-API שנפרסה

כשפורסים הגדרת API לשער, API Gateway יוצר כתובת URL ייחודית לשער בדומיין gateway.dev. לאחר מכן, לקוחות ה-API משתמשים בכתובת URL מהצורה הבאה כדי לגשת להגדרת ה-API שפרסתם:

https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev

כאשר GATEWAY_ID הוא שם השער, HASH הוא קוד הגיבוב הייחודי שנוצר כשפרסתם את ה-API, ו-REGION_CODE הוא הקוד של המיקום ב-Cloud שבו פרסתם את השער.

לדוגמה:

https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

פריסת API בשער

כדי לפרוס API לשער:

מסוף Google Cloud

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

    ל-API Gateway

  2. לוחצים על יצירת שער.

    יופיע הדף Create Gateway.

  3. בקטע Select an API, בוחרים באפשרות Create new API בשדה Select an API.
  4. בשדה שם לתצוגה, מזינים את השם לתצוגה של ה-API.
  5. בשדה API ID (מזהה ה-API), מזינים את מזהה ה-API. הנחיות למתן שמות ל-API מופיעות במאמר בנושא דרישות לגבי מזהה API.
  6. (אופציונלי) מוסיפים תוויות ל-API.
  7. בקטע API Config, בוחרים באפשרות Create a new API config בשדה Select a Config.
  8. בשדה Upload an API Spec (העלאת מפרט API), מעלים קובץ .yaml או .json. מידע על פורמטים של קבצים להגדרת API זמין במאמר בנושא OpenAPI 2.0 ו-OpenAPI 3.x.
  9. בשדה Display Name, מזינים את השם המוצג של הגדרת ה-API.
  10. ברשימה Select a Service Account בוחרים את חשבון השירות הנדרש. חשבון השירות הזה ישמש את API Gateway כזהות שלו.
  11. (אופציונלי) מוסיפים תוויות להגדרת ה-API.
  12. בקטע פרטי השער, מזינים שם מוצג לשער.
  13. בשדה Location (מיקום), בוחרים את Google Cloud האזור שבו רוצים לפרוס את השער.
  14. (אופציונלי) מוסיפים תוויות ל-API Gateway.
  15. לוחצים על יצירת שער.
  16. ממשק ה-API החדש שנוצר מוצג בדף הבית של API Gateway.

Google Cloud CLI

  1. כדי לוודא שהשער לא נוצר בפרויקט הלא נכון, מאמתים את מזהה הפרויקט שמוחזר מהפקודה הבאה.

    gcloud config list project

    אם אתם צריכים לשנות את פרויקט ברירת המחדל, מריצים את הפקודה הבאה ומחליפים את PROJECT_ID במזהה הפרויקט Google Cloud שבו אתם רוצים ליצור את השירות::

    gcloud config set project PROJECT_ID
  2. הצגת העזרה עבור הפקודה gateway create:

    gcloud api-gateway gateways create --help
  3. מריצים את הפקודה הבאה כדי לפרוס את הגדרות ה-API לשער:

    gcloud api-gateway gateways create GATEWAY_ID \
     --api=API_ID --api-config=CONFIG_ID \
     --location=GCP_REGION 

    where:

    • GATEWAY_ID מציין את המזהה של השער החדש. אם השער עדיין לא קיים, הפקודה הזו יוצרת אותו.
    • API_ID מציין את המזהה של ה-API של API Gateway שמשויך לשער הזה.
    • CONFIG_ID מציין את המזהה של הגדרת ה-API שנפרסה בשער. כשיוצרים שער, צריך לציין הגדרת API.
    • GCP_REGION מציין את מיקום הענן של השער שנפרס.

    במהלך יצירת השער, ה-CLI של gcloud מציג מידע במסוף.

  4. אחרי שההגדרה תושלם, תוכלו להשתמש בפקודה הבאה כדי לראות פרטים על השער:

    gcloud api-gateway gateways describe GATEWAY_ID \
     --location=GCP_REGION 

    הפקודה הזו מחזירה את הפלט הבא:

    apiConfig: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID
    createTime: '2020-02-05T13:44:12.997862831Z'
    defaultHostname: my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
    displayName: GATEWAY_ID
    name: projects/PROJECT_ID/locations/GCP_REGION/gateways/GATEWAY_ID
    serviceAccount:
     email: gateway-111111@222222-tp.iam.gserviceaccount.com
    state: ACTIVE
    updateTime: '2020-02-05T13:45:00.844705087Z'

    רושמים את הערך של המאפיין defaultHostname. זהו החלק של שם המארח בכתובת ה-URL של השער. כדי לגשת להגדרת API שנפרסה בשער הזה, משתמשים בכתובת URL בפורמט:

    https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev

ל-CLI של gcloud יש הרבה אפשרויות, כולל אלה שמתוארות במדריך העזר ל-gcloud. בנוסף, ב-API Gateway אפשר להגדיר את האפשרויות הבאות כשיוצרים שער:

  • --async: החזרת השליטה למסוף באופן מיידי, בלי להמתין לסיום הפעולה.
  • --display-name=NAME: מציין את השם המוצג של השער, כלומר השם שמוצג בממשק המשתמש. לא להשתמש ברווחים בשם. במקום זאת, אפשר להשתמש במקפים ובקווים תחתונים. ערך ברירת המחדל הוא GATEWAY_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: מציין תוויות שמשויכות לשער.

הצגת רשימה של שערים

בקטע הזה מוסבר איך לראות רשימה של כל שער ה-API שנפרסו בפרויקט Google Cloud .

מסוף Google Cloud

במסוף Google Cloud , נכנסים לדף API Gateway > Gateways.

כניסה לדף Gateways

Google Cloud CLI

כדי להציג רשימה של שערים בפרויקט ספציפי:

gcloud api-gateway gateways list 

הפלט של הפקודה הזו הוא מהצורה:

GATEWAY_ID        LOCATION       DISPLAY_NAME     STATE     CREATE_TIME          UPDATE_TIME
my-gateway        us-central1    my-gateway       ACTIVE    2021-01-07T00:04:19  2022-05-21T00:33:46

כדי להציג רשימה של שערים לפרויקט ולאזור ספציפיים:

gcloud api-gateway gateways list --location=GCP_REGION 

משתמשים בביטוי filter כדי לפרט את השערים שמשויכים ל-API ספציפי:

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/*" \

אפשר גם להשתמש ב-filter כדי להציג רשימה של שערים להגדרת API ספציפית:

gcloud api-gateway gateways list \
--filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID" \
--project=PROJECT_ID

משתמשים במזהים של האזור והשער כדי לקבל מידע מפורט על השער, כולל הזהות של הגדרת ה-API שנפרסה בשער:

gcloud api-gateway gateways describe GATEWAY_ID \
--location=GCP_REGION 

עדכון שער

כדי לעדכן שער:

  • פריסת הגדרת API אחרת בשער
  • עדכון השם המוצג
  • עדכון התוויות

מסוף Google Cloud

כדי לעדכן את הפרטים של API Gateway:

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

    ל-API Gateway

  2. לוחצים על ממשק ה-API הנדרש.
  3. לוחצים על הכרטיסייה שערי תשלום.
  4. לוחצים על השער הנדרש.
  5. לוחצים על עריכה עריכה.
  6. עורכים את השם לתצוגה או את התוויות.
  7. בוחרים את הגדרת ה-API הנדרשת או לוחצים על יצירת הגדרת API חדשה ויוצרים את ההגדרה כמו שמוסבר כאן.
  8. לוחצים על עדכון.
  9. לוחצים על כדי לחזור לדף של רשימת השערים.
  10. בדף רשימת השערים אפשר לראות את השער המעודכן.

Google Cloud CLI

כדי לעדכן שער קיים, משתמשים בפקודה הבאה של ה-CLI של gcloud, ומחליפים את UPDATE_OPTIONS בדגל האפשרות של השער ובערך שרוצים לעדכן:

gcloud api-gateway gateways update GATEWAY_ID \
UPDATE_OPTIONS --api=API_ID --location=GCP_REGION   

לדוגמה, כדי לעדכן את הגדרת ה-API שנפרסה בשער:

gcloud api-gateway gateways update GATEWAY_ID \
--api-config=NEW_CONFIG_ID --api=API_ID --location=GCP_REGION 

כאשר NEW_CONFIG_ID מציין את הגדרת ה-API החדשה שצריך לפרוס בשער.

רשימה מלאה של הדגלים והארגומנטים הזמינים לעדכון מופיעה במאמר בנושא gcloud api-gateway gateways update. אפשר גם להשתמש בפקודה הבאה כדי לראות את כל אפשרויות העדכון:

gcloud api-gateway gateways update --help

מחיקת שער

בקטע הזה נסביר איך למחוק API Gateway קיים. כדי להסיר לצמיתות שער ואת התצורה שמשויכת אליו מהפרויקט Google Cloud :

מסוף Google Cloud

  1. במסוף Google Cloud , נכנסים לדף API Gateway > Gateways.

    כניסה לדף Gateways

  2. לוחצים על סמל האפשרויות הנוספות ואז על מחיקה כדי למחוק את שער ה-API שנבחר.

Google Cloud CLI

כדי למחוק שער קיים, מריצים את הפקודה הבאה ב-CLI של gcloud:

gcloud api-gateway gateways delete GATEWAY_ID \
--location=GCP_REGION 

המאמרים הבאים