פריסת API בשער
בדף הזה מוסבר איך לפרוס API ל-API Gateway.
דרישות מוקדמות
לפני שפורסים API ל-API Gateway, צריך לוודא שביצעתם את הפעולות הבאות:
מכינים את סביבת הפיתוח כמו שמתואר במאמר הגדרת סביבת הפיתוח.
אם משתמשים ב-Google Cloud CLI, צריך ליצור API.
הערה: כשמשתמשים במסוף Google Cloud , השלב הזה מתבצע כשפורסים את ה-API, כמו שמתואר בהמשך.יוצרים מפרט OpenAPI שמגדיר את ה-API.
יוצרים הגדרת API מהגדרת ה-API.
דרישות לגבי מזהה שער
בפקודות רבות של ה-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
נכנסים לדף API Gateway במסוף Google Cloud .
- לוחצים על יצירת שער.
יופיע הדף Create Gateway.
- בקטע Select an API, בוחרים באפשרות Create new API בשדה Select an API.
- בשדה שם לתצוגה, מזינים את השם לתצוגה של ה-API.
- בשדה API ID (מזהה ה-API), מזינים את מזהה ה-API. הנחיות למתן שמות ל-API מופיעות במאמר בנושא דרישות לגבי מזהה API.
- (אופציונלי) מוסיפים תוויות ל-API.
- בקטע API Config, בוחרים באפשרות Create a new API config בשדה Select a Config.
- בשדה Upload an API Spec (העלאת מפרט API), מעלים קובץ
.yamlאו.json. מידע על פורמטים של קבצים להגדרת API זמין במאמר בנושא OpenAPI 2.0 ו-OpenAPI 3.x. - בשדה Display Name, מזינים את השם המוצג של הגדרת ה-API.
- ברשימה Select a Service Account בוחרים את חשבון השירות הנדרש. חשבון השירות הזה ישמש את API Gateway כזהות שלו.
- (אופציונלי) מוסיפים תוויות להגדרת ה-API.
- בקטע פרטי השער, מזינים שם מוצג לשער.
- בשדה Location (מיקום), בוחרים את Google Cloud האזור שבו רוצים לפרוס את השער.
- (אופציונלי) מוסיפים תוויות ל-API Gateway.
- לוחצים על יצירת שער.
ממשק ה-API החדש שנוצר מוצג בדף הבית של API Gateway.
Google Cloud CLI
כדי לוודא שהשער לא נוצר בפרויקט הלא נכון, מאמתים את מזהה הפרויקט שמוחזר מהפקודה הבאה.
gcloud config list project
אם אתם צריכים לשנות את פרויקט ברירת המחדל, מריצים את הפקודה הבאה ומחליפים את PROJECT_ID במזהה הפרויקט Google Cloud שבו אתם רוצים ליצור את השירות::
gcloud config set project PROJECT_ID
הצגת העזרה עבור הפקודה
gateway create:gcloud api-gateway gateways create --help
מריצים את הפקודה הבאה כדי לפרוס את הגדרות ה-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 מציג מידע במסוף.
אחרי שההגדרה תושלם, תוכלו להשתמש בפקודה הבאה כדי לראות פרטים על השער:
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.
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:
נכנסים לדף API Gateway במסוף Google Cloud .
- לוחצים על ממשק ה-API הנדרש.
- לוחצים על הכרטיסייה שערי תשלום.
- לוחצים על השער הנדרש.
- לוחצים על עריכה עריכה.
- עורכים את השם לתצוגה או את התוויות.
- בוחרים את הגדרת ה-API הנדרשת או לוחצים על יצירת הגדרת API חדשה ויוצרים את ההגדרה כמו שמוסבר כאן.
- לוחצים על עדכון.
- לוחצים על כדי לחזור לדף של רשימת השערים.
- בדף רשימת השערים אפשר לראות את השער המעודכן.
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
-
במסוף Google Cloud , נכנסים לדף API Gateway > Gateways.
- לוחצים על סמל האפשרויות הנוספות ואז על מחיקה כדי למחוק את שער ה-API שנבחר.
Google Cloud CLI
כדי למחוק שער קיים, מריצים את הפקודה הבאה ב-CLI של gcloud:
gcloud api-gateway gateways delete GATEWAY_ID \ --location=GCP_REGION