בדיקת סטטוס הפריסה של שרת ה-API באמצעות ה-API

בקטע הזה מוסבר איך לבדוק את סטטוס הפריסה של שרת proxy ל-API באמצעות ממשקי Apigee API.

  1. פורסים שרת proxy ל-API לצורך בדיקה, כמו שמוסבר במאמר יצירה ופריסה של שרת proxy חדש ל-API.
  2. מאתרים את קובץ ה-JSON עם מפתח חשבון השירות של אדמין הארגון ב-Apigee. חשבון השירות והמפתח הזה נוצרו בקטע הפעלת הגישה של הכלי לסנכרון.
  3. מריצים את שתי הפקודות האלה כדי לקבל אסימון:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    כאשר org-admin-service-account-file הוא הנתיב במערכת למפתח של חשבון השירות שהורדתם עם התפקיד אדמין של ארגון Apigee.

  4. מפעילים את Revisions API עם החלקים הבאים:
    • כתובת URL בסיסית: https://apigee.googleapis.com/v1
    • כתובת ה-URL של נקודת הקצה: /organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments
    • פרוטוקול: HTTPS
    • שיטה: GET
    • כותרות: "Authorization: Bearer $TOKEN"

    בדוגמה הבאה מופעל API של עדכוני פריסה עם ההגדרות האלה באמצעות curl:

    curl "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments" \
    -X GET -H "Authorization: Bearer $TOKEN"

    אמורים לקבל תגובה שדומה לזו:

    {
      "deployments": [
        {
          "environment": "test",
          "apiProxy": "myproxy",
          "revision": "1",
          "deployStartTime": "1560782439002",
          "pods": [
            {
              "podName": "apigee-runtime-my-organization-test-blue-56b642fv429v",
              "appVersion": "self",
              "deploymentStatusTime": "1560787671389",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782471370",
              "podStatus": "active",
              "podStatusTime": "1560787671389"
            },
            {
              "podName": "apigee-runtime-my-organization-test-blue-564422f7dmwj",
              "appVersion": "self",
              "deploymentStatusTime": "1560787670121",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782485204",
              "podStatus": "active",
              "podStatusTime": "1560787670121"
            }
          ],
          "basePath": "/"
        }
      ]
    }

    בדוגמה הזו של תגובה מוצג הסטטוס של שרת ה-API הפרוקסי ב-2 תרמילים. סטטוס הפריסה הוא deployed בשני הפודים.

    בתשובה שלך יכול להיות שיוצג סטטוס הפריסה של ה-proxy ל-API בפחות או יותר Podים, בהתאם להגדרות של האשכול.

    אם אתם מקבלים תשובה ריקה או שגיאה, בדקו את הדברים הבאים:

    • השתמשתם בכתובת הבסיסית הנכונה. שימו לב שכתובת ה-URL הבסיסית ההיברידית לא זהה לכתובת ה-URL הבסיסית של Edge API. שימוש ב-https://apigee.googleapis.com/v1.
    • השתמשתם בכתובת ה-URL הנכונה של נקודת הקצה. שימו לב שהגרסה היא '1' ונקודת הקצה היא /organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments. אם מציינים גרסה שלא קיימת, הבקשה מניבה תגובה ריקה כמו בדוגמה הבאה:
      { }
    • יש לכם הרשאות גישה לארגון שציינתם בבקשה.
    • התוקף של הטוקן עדיין לא פג. אם הוא פג, צריך ליצור אסימון חדש כמו שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0.
    • הקפת את הכותרת "Authorization: Bearer $TOKEN" במירכאות.