פריסת 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. מזינים את הפרטים הבאים:
    • תיקון: מספר התיקון של ה-proxy שרוצים לפרוס.
    • סביבה: הסביבה שבה רוצים לפרוס את ה-proxy.
    • חשבון שירות (אופציונלי): חשבון שירות בשביל ה-proxy.
  5. לוחצים על פריסה.

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

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

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

Apigee API

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

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

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

פריסת שרת 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 לתיקון proxy של API.

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

כדי להציג רשימה של כל הפריסות של שרתי proxy של 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

כדי לראות את כל הפריסות של פרוקסי 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 לא יופעל. לדוגמה, אם יצרתם סביבה בשם prod-1 אחרי שיצרתם ומחקתם בעבר סביבה בשם prod-1, תצטרכו להסיר אותה. כדי לפתור את הבעיה:

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