פריסת proxy ל-API

המאמר הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

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

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

פריסת proxy ל-API

פורסים תיקון של שרת proxy ל-API כמו שמתואר באחת מהשיטות הבאות.

ממשק המשתמש של Apigee

כדי לפרוס proxy ל-API:

  1. במסוף Google Cloud , נכנסים לדף Apigee > Proxy Development > API Proxies.

    מעבר אל API Proxies

  2. לוחצים על ה-proxy ל-API שרוצים לפרוס. ממשק המשתמש מציג את הדף סקירה כללית:

    פרטים על proxy ל-API, כולל סטטוס הפריסה לכל סביבה, פרטי נקודת הקצה של ה-proxy ופרטי נקודת הקצה של היעד.

  3. כדי לפרוס את השינויים, לוחצים על פריסה כדי להציג את תיבת הדו-שיח פריסה:

    נקודות קצה של יעד שנבחרו בכלי Proxy Explorer.

  4. מזינים את הפרטים הבאים:
    • Revision (גרסה): מספר הגרסה של ה-proxy שרוצים לפרוס.
    • סביבה: הסביבה שבה רוצים לפרוס את ה-proxy.
    • חשבון שירות (אופציונלי): חשבון שירות בשביל ה-proxy.
  5. לוחצים על פריסה.

ממשק המשתמש מתחיל בתהליך הפריסה של הגרסה שנבחרה.

כשפורסים את ה-proxy, בעמודה Status בקטע Deployments מופיע סמל ירוק שמציין שהגרסה הראשונה של ה-proxy נפרסה.

סמל הסטטוס של שרת proxy שפרסתם

Apigee API

בקטעים הבאים מופיעות דוגמאות לשימוש ב-Apigee API כדי לפרוס גרסאות של proxy ל-API ולראות את ה-Deployment (פריסה) בארגון.

אפשר לעיין גם במאמר הצגת סטטוס הפריסה.

יצירת דוח שינויים בהטמעה לפני ההטמעה

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

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments:generateDeployChangeReport" \
-X POST \
-H "Authorization: Bearer $TOKEN"

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

פריסת גרסה של proxy ל-API באמצעות ה-API

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

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

בדוגמה הבאה מוצג פלט התגובה. בדוגמה הזו, הגרסה 1 של proxy ל-API helloworld נפרסה בהצלחה בסביבה test:

{
  "environment": "test",
  "apiProxy": "helloworld",
  "revision": "1",
  "deployStartTime": "1559149080457"
}

מידע נוסף זמין במאמר פריסת גרסה של proxy ל-API.

הצגת פריסות באמצעות ה-API

כדי להציג רשימה של כל הפריסות של פרוקסי API ושל רכיבי Shared Flow בארגון, מזינים את הקריאה הבאה ל-API:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/deployments" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

בהמשך מופיעה דוגמה לתגובה. בדוגמה הזו, יש שלושה שרתי proxy של API שפרסנו, כולל helloworld שפרסנו בקטע הקודם.

{
  "deployments": [
    {
      "environment": "test",
      "apiProxy": "helloworld",
      "revision": "1",
      "deployStartTime": "1559149080457"
    },
    {
      "environment": "test",
      "apiProxy": "weather",
      "revision": "1",
      "deployStartTime": "1558620435217"
    },
    {
      "environment": "test",
      "apiProxy": "testproxy",
      "revision": "2",
      "deployStartTime": "1558635113086"
    }
  ]
}

gcloud

בקטעים הבאים מופיעות דוגמאות לשימוש בפקודות של gcloud apigee CLI כדי לפרוס גרסאות של proxy ל-API ולרשום את הפריסות של הארגון.

אפשר לעיין גם במאמר הצגת סטטוס הפריסה.

מידע נוסף ותיאור של משתני הסביבה שמשמשים בדוגמאות זמינים במאמר תחילת העבודה עם gcloud ב-Apigee.

פריסת גרסה של proxy ל-API באמצעות ה-CLI של gcloud

כדי לפרוס גרסה של proxy ל-API, משתמשים בפקודה gcloud הבאה:

gcloud apigee apis deploy $REV --api=$API --environment=$ENV

בדוגמה הבאה מוצג פלט התגובה. בדוגמה הזו, הגרסה 1 של proxy ל-API של helloworld נפרסה בהצלחה בסביבת test:

Using Apigee organization 'my-org'
apiProxy: helloworld
deployStartTime: '1598032332802'
environment: test
revision: '1'

מידע נוסף זמין במאמר פריסת תיקון של שרת proxy ל-API באמצעות CLI.

הצגת רשימת פריסות באמצעות ה-CLI של gcloud

כדי לראות את כל הפריסות של שרתי proxy של API ושל רכיבי Shared Flow בארגון, משתמשים בפקודה gcloud הבאה:

gcloud apigee deployments list

בהמשך מופיעה דוגמה לתגובה. בדוגמה הזו, יש שלושה שרתי proxy של API שפרסנו, כולל helloworld שפרסנו בקטע הקודם.

Using Apigee organization `my-org`
 - apiProxy: helloworld
   deployStartTime: 1598032332802
   environment: test
   revision: 1
 - apiProxy: weather
   deployStartTime: 1558620435217
   environment: test
   revision: 1
 - apiProxy: testproxy
   deployStartTime: 1558635113086
   environment: test
   revision: 2

מידע נוסף זמין במאמר רשימת פריסות CLI.

פתרון בעיות

אם אתם לא מצליחים לפרוס את ה-proxy ל-API, כדאי לבדוק אם אחד מהתרחישים הנפוצים הבאים רלוונטי.

הגבלות על שמות של קבוצות סביבות

אם השם של קבוצת הסביבות לא עומד בהגבלות על שמות, הפריסה של ה-proxy תיכשל. במקרים מסוימים, אפשר ליצור קבוצת סביבות ולהוסיף לה סביבות בלי לעמוד בהגבלות האלה. עם זאת, הפעולה הזו תמנע פריסת שרת proxy.

במאמר יצירת קבוצות סביבות מפורטות הנחיות והגבלות למתן שמות.

סביבה שנוצרה עם שם סביבה שכבר היה בשימוש

אם תיצרו סביבה עם שם זהה לשם של סביבה שנמחקה בעבר, ה-proxy לא יופעל. לדוגמה, אם יצרתם סביבה בשם prod-1 אחרי שיצרתם ומחקתם סביבה בשם prod-1, תצטרכו להסיר אותה. כדי לפתור את הבעיה:

  1. מנתקים את סביבת prod-1 מקבוצת הסביבות באמצעות API.
  2. מחיקת סביבת prod-1 באמצעות API.
  3. יוצרים סביבה חדשה. לדוגמה, prod-2.
  4. מצרפים את סביבת prod-2 החדשה לקבוצת הסביבות באמצעות ה-API.