פריסה וניהול של ארכיונים בסביבת Apigee

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

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

מפתחים ובודקים שרתי proxy ל-API שניתנים לתכנות באמצעות Apigee ב-VS Code. לאחר מכן, פורסים ארכיון של סביבת ההגדרה של proxy ל-API בסביבת הבדיקה ובסביבת הייצור של Apigee Integration, כמו שמתואר בקטעים הבאים.

הפעלת פריסה של ארכיון בסביבת Apigee

כדי לפרוס ארכיון, צריך להפעיל את פריסת הארכיון בסביבת Apigee.

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

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

  1. במסוף Google Cloud , עוברים לדף Apigee > Environments.

    מעבר אל Environments

  2. לוחצים על + יצירת סביבה.
  3. בקטע סוג הפריסה, בוחרים באפשרות ארכיון.

    תיבת הדו-שיח 'סביבה חדשה'.
  4. לוחצים על יצירה.

Apigee API

כדי להפעיל פריסה של ארכיון כשיוצרים סביבה באמצעות ה-API, צריך להגדיר את deploymentType לערך ARCHIVE בגוף הבקשה.

לדוגמה:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \
   -X POST \
   -H "Authorization: Bearer $TOKEN" \
   -H "Content-type: application/json" \
   -d
   '{
      "name": "integration-test",
      "description": "Integration test environment",
      "displayName" : "Integration test",
      "deploymentType" : "ARCHIVE"
   }'

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

זוהי דוגמה לתשובה:

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "IN_PROGRESS"
  }
}

אפשר לבדוק את סטטוס הפעולה. לדוגמה:

curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 /
   -H "Authorization: Bearer $TOKEN"

בהמשך מופיעה דוגמה לתגובה. שימו לב שסטטוס הפעולה הוא FINISHED וסטטוס הסביבה מוגדר כ-ACTIVE.

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "FINISHED"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment",
    "name": "integration-test",
    "description": "Integration test environment",
    "createdAt": "1615553880084",
    "lastModifiedAt": "1615553881911",
    "displayName": "Integration test",
    "state": "ACTIVE",
    "deploymentType": "ARCHIVE"
  }
}

מידע נוסף על ה-API זמין במאמר Create environments API.

פריסת ארכיון בסביבת Apigee

כדי לפרוס ארכיון בסביבת Apigee, משתמשים בפקודה gcloud הבאה:

gcloud beta apigee archives deploy \
    --environment=$ENV \
    [--organization=$ORG] \
    [--source=$SOURCE] \
    [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]

צריך לציין את סביבת Apigee שבה רוצים לפרוס את הארכיון באמצעות הדגל --environment. צריך להפעיל פריסות לארכיון בסביבת Apigee. מידע נוסף זמין במאמר gcloud beta apigee archives deploy.

כברירת מחדל, הארכיון נפרס:

  • לארגון שמשויך לפרויקט הפעיל הנוכחי שהוגדר עבור gcloud.

    כדי לראות את ההגדרות הנוכחיות של gcloud, מריצים את הפקודה gcloud config list. כדי לציין את הארגון, משתמשים בדגל --organization.

  • מספריית העבודה הנוכחית.
    אם ספריית הבסיס של הארכיון נמצאת במיקום אחר ולא בספריית העבודה הנוכחית, צריך להשתמש בדגל --source כדי לציין את המיקום של ספריית הבסיס של הארכיון.src/main/apigee מידע נוסף זמין במאמר הסבר על המבנה של סביבת עבודה ב-Apigee.

אפשר גם להוסיף עד 64 צמדי מפתח/ערך של תוויות בהתאמה אישית לפריסת ארכיון באמצעות הדגל --labels. לדוגמה, יכול להיות שתרצו לתייג ארכיון עם מספר Build. התוויות יוצגו כשמציגים את רשימת הפריסות של הארכיון. ערכי המפתח צריכים לעמוד בהנחיות הבאות:

  • האורך המקסימלי הוא 63 תווים
  • גודל מקסימלי של 128 בייטים
  • קידוד UTF-8
  • התבנית צריכה להיות תואמת לביטוי הרגולרי הבא שמתאים ל-Perl‏ (PCRE): [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

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

  1. יוצר קובץ ZIP של ספריית סביבת העבודה של Apigee‏ src/main/apigee. מידע נוסף זמין במאמר הסבר על המבנה של סביבת עבודה ב-Apigee.
  2. הארכיון נפרס ב-Apigee ב-Google Cloud באופן הבא:
    1. יוצר כתובת URL חתומה לקטגוריה של Cloud Storage בפרויקט שמשויך לארגון הנוכחי ב-Apigee באמצעות generateUploadUrl API.
    2. הקובץ zip של הארכיון מועלה לקטגוריה של Cloud Storage באמצעות כתובת ה-URL החתומה.
    3. הפקודה פורסת את הארכיון שנמצא כרגע בהמתנה בקטגוריה של Cloud Storage ב-Apigee ב-Google Cloud. באמצעות Archive Deployments API.

דוגמאות לבקשות

בדוגמה הבאה נוצר ארכיון zip של src/main/apigee בספרייה הנוכחית והוא נפרס בסביבת Apigee שצוינה:

gcloud beta apigee archives deploy --environment=$ENV

בדוגמה הבאה מוצג איך אפשר לציין ארגון שלא משויך לפרויקט הפעיל הנוכחי שהוגדר ל-gcloud:

gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG

בדוגמה הבאה נוצר ארכיון zip של הספרייה src/main/apigee בספרייה myarchive, והוא נפרס בסביבת Apigee שצוינה:

gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive

בדוגמה הבאה מוסיפים את התוויות status ו-build_id לפריסת הארכיון:

gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315

דוגמה לתשובה

דוגמה לתשובה:

Using Apigee organization 'myorg'
Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

בדיקת סטטוס הפריסה של הארכיון

כדי לבדוק את סטטוס הפריסה של הארכיון, משתמשים בפקודה gcloud alpha apigee operations.

בדוגמה הבאה מוצג סטטוס הפריסה של הארכיון עבור הפעולה עם מזהה הגרסה 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c, שהוא IN_PROGRESS.

gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

בהמשך מופיעה דוגמה לתגובה. הערה: הערך של state מוגדר כ-IN_PROGRESS.

Using Apigee organization 'myorg'
done: true
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: IN_PROGRESS
  targetResourceName: uri
name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
organization: myorg
response:
  '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation
  control: 1-5-0-20210319-071117-ghq74
  endTime: '2021-03-20T06:15:44.329363950Z'
  metricLabels:
    env: test
    location: us-central1
  name: uri
  startTime: '2021-03-20T06:14:44.306534584Z'
  treatment: 1-5-0-20210319-190954-if0wk
  verdict: NONE
uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed

אחרי שהפעולה מסתיימת, הערך של state מוגדר כ-FINISHED.

הצגת רשימה של כל פריסות הארכיון בסביבה

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

gcloud

כדי לראות את רשימת כל פריסות הארכיון ב-Apigee ב-Google Cloud, משתמשים בפקודה gcloud הבאה:

gcloud beta apigee archives list --environment=$ENV

צריך לציין את סביבת Apigee שבה רוצים להציג פריסות בארכיון באמצעות הדגל --environment. בסביבת Apigee צריך להציג את הפרטים של פריסת ארכיון. מידע נוסף זמין במאמר gcloud beta apigee archives list.

זוהי דוגמה לתשובה:

Using Apigee organization 'myorg'
ARCHIVE ID                        ENVIRONMENT   DEPLOYED AT           LABELS                         OPERATION STATUS
pzfbs8uidbdv224joz                myorg         2021-03-10 11:21:29   status=released,build=210315   Deployed
fb4r8log2gm63r3gtu                myorg         2021-03-05 13:40:30
vrytwbhso558oil53m                myorg         2021-03-03 21:20:53

Apigee API

כדי להציג את רשימת הפריסות של הארכיון בסביבה, שולחים בקשת GET ל-API הבא: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments.

לדוגמה:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \
  -H "Authorization: Bearer $TOKEN"

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

זוהי דוגמה לתשובה:

{
  "archiveDeployments": [
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
      "labels": {
        "status": "released",
        "build": "210315"
      },
      "createdAt": "1615821232451727",
      "updatedAt": "1615821232451727",
      "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu",
      "createdAt": "1615819281858447",
      "updatedAt": "1615819281858447",
      "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m",
      "createdAt": "1615578337832207",
      "updatedAt": "1615578337832207",
      "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e"
    }
  ]
}

צפייה בפרטים של פריסה בארכיון

פרטים נוספים מופיעים בהמשך הדף הזה.

gcloud

כדי להציג את הפרטים של פריסת ארכיון ב-Apigee ב-Google Cloud, משתמשים בפקודה gcloud הבאה:

gcloud beta apigee archives describe $ID --environment=$ENV

צריך לציין את הפרטים הבאים:

מידע נוסף זמין במאמר בנושא gcloud beta apigee archives describe.

לדוגמה:

gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV

זוהי דוגמה לתשובה:

Using Apigee organization 'myorg'
createdAt: '1615578337832207'
labels:
  status: 'released'
  build: '210315'
name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
operationStatus: Deployed
updatedAt: '1615821232451727'

Apigee API

כדי לראות את הפרטים של פריסת ארכיון, שולחים בקשת GET ל-API הבא: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

צריך להעביר את המזהה של הגרסה של פריסת הארכיון. כדי לראות את רשימת מזהי הגרסאות של פריסות הארכיון בסביבת Apigee, אפשר לעיין במאמר בנושא הצגת כל פריסות הארכיון בסביבה.

לדוגמה:

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

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

זוהי דוגמה לתשובה:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

עדכון תוויות לפריסת ארכיון

מעדכנים את התוויות של פריסת ארכיון כמו שמתואר בקטעים הבאים.

gcloud

כדי לעדכן תוויות לפריסת ארכיון ב-Apigee ב-Google Cloud, משתמשים בפקודה gcloud הבאה:

gcloud beta apigee archives update [$ID] --environment=$ENV
  [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]],
  [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]

צריך לציין את הפרטים הבאים:

  • מזהה הגרסה הקודמת של פריסת הארכיון
  • סביבת Apigee שבה רוצים להציג פריסות בארכיון באמצעות הדגל --environment. צריך להפעיל את האפשרות לפריסות ארכיון בסביבת Apigee.
  • אחד או יותר מהסימונים הבאים:
    סימון תיאור
    --clear-labels הסרת כל התוויות. אם גם --update-labels מצוין, המערכת תחיל קודם את --clear-labels.

    אי אפשר לציין את הפרמטר הזה אם מציינים את הפרמטר --remove-labels.

    --remove-labels הסרת התוויות שצוינו. אם מציינים גם את --update-labels, הוא מוחל קודם.

    אי אפשר לציין את הפרמטר הזה אם מציינים את הפרמטר --clear-labels.

    --update-labels מעדכנים את התוויות. אם התווית קיימת, הערך שלה משתנה. אחרת, נוצרת תווית חדשה. אפשר לשלב עם הדגלים --remove-labels או --clear-labels כדי להסיר קבוצת משנה או את כל התוויות, בהתאמה, לפני עדכון התוויות.

מידע נוסף זמין במאמר gcloud beta apigee archives update.

לדוגמה:

gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \
  --clear-labels --update-labels=status=released,build=210315,tier=1

זוהי דוגמה לתשובה:

Using Apigee organization `myorg`
createdAt: 2020-04-04T04:04:04.004Z
labels:
  status: released,
  build: 210315,
  tier: 1
name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca
updatedAt: '1633450432067431'

Apigee API

כדי לעדכן תוויות לפריסת ארכיון ב-Apigee ב-Google Cloud, שולחים בקשת PATCH ל-API הבא: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

צריך להעביר את המזהה של הגרסה של פריסת הארכיון. כדי לראות את רשימת מזהי הגרסאות של פריסות הארכיון בסביבת Apigee, אפשר לעיין במאמר בנושא הצגת כל פריסות הארכיון בסביבה.

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

לדוגמה:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "labels": {
      "status" : "released",
      "build" : "210315"
    }
  }'

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

זוהי דוגמה לתשובה:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

מחיקת סביבת Apigee עם פריסות בארכיון

כדי למחוק סביבת Apigee עם פריסות בארכיון:

  1. בתיקייה זמנית, יוצרים את מבנה הספריות הבא, כאשר $ENV תואם לשם הסביבה שרוצים למחוק. לדוגמה:
    mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
  2. מוסיפים את הקובץ deployments.json לספרייה. לדוגמה:
    touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
  3. מעדכנים את deployments.json כך שיכלול מערך proxies ריק, כמו שמוצג למטה.
    {
    "proxies" : []
    }
  4. משנים את הספרייה (cd) לתיקייה $TEMP/archive.
    cd $TEMP/archive
  5. פורסים את הארכיון בסביבת Apigee שרוצים למחוק.
    gcloud beta apigee archives deploy --environment=$ENV
    
  6. מחיקת סביבת Apigee.

מחיקת תיקון של פריסה בארכיון

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

gcloud

כדי למחוק מהפריסה בארכיון גרסה של Apigee ב-Google Cloud, משתמשים בפקודה הבאה gcloud:

gcloud beta apigee archives delete $ID --environment=$ENV

צריך לציין את הפרטים הבאים:

לדוגמה:

gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev

זוהי דוגמה לתשובה:

Archive deployment revision "fb4r8log2gm63r3gtu" deleted

Apigee API

כדי למחוק מהארכיון גרסה של פריסה ב-Apigee ב-Google Cloud, שולחים בקשת DELETE אל ה-API הבא: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

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

לדוגמה:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN" \

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

זוהי דוגמה לתשובה:

{}