שימוש ב-API אסינכרוני של דוחות בהתאמה אישית

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

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

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

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

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

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

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

השוואה בין Reports API לבין ממשק המשתמש

במאמר יצירה וניהול של דוחות בהתאמה אישית מוסבר איך ליצור ולהריץ דוחות בהתאמה אישית באמצעות ממשק המשתמש של Apigee. אפשר להריץ את הדוחות האלה באופן סינכרוני או אסינכרוני.

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

ההבדל העיקרי בין דוחות שנוצרו באמצעות ה-API לבין דוחות שנוצרו באמצעות ממשק המשתמש הוא שדוחות שנוצרו באמצעות ה-API נכתבים לקובצי CSV או JSON (עם תווי מעבר לשורה), ואילו דוחות שנוצרו באמצעות ממשק המשתמש מוצגים בממשק המשתמש.

מגבלת זמן על שאילתות

ב-Apigee, הטווח המקסימלי של שאילתה אסינכרונית הוא 365 ימים.

איך מבצעים שאילתת Analytics אסינכרונית

כדי לבצע שאילתות אסינכרוניות של נתוני Analytics, צריך לבצע שלושה שלבים:

  1. שולחים את השאילתה.

  2. לקבל את סטטוס הפנייה.

  3. מאחזרים את תוצאות השאילתה.

שלב 1. שליחת השאילתה

צריך לשלוח בקשת POST אל Queries API. ה-API הזה אומר ל-Apigee לעבד את הבקשה שלכם ברקע. אם השליחה של השאילתה מצליחה, ממשק ה-API מחזיר סטטוס 201 ומזהה שבו תשתמשו כדי להתייחס לשאילתה בשלבים הבאים.

לדוגמה:

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @json-query-file

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

גוף הבקשה הוא תיאור של השאילתה בפורמט JSON. בגוף ה-JSON, מציינים את המדדים, המאפיינים והמסננים שמגדירים את הדוח.

קובץ json-query-file לדוגמה:

{ 
   "metrics":  [
     {
         "name": "message_count",
         "function": "sum",
         "alias": "sum_txn"
    }
        ],
    "dimensions": ["apiproxy"],
    "timeRange": "last24hours",
    "limit": 14400,
    "filter":"(message_count ge 0)"
}

בקטע 'מידע על גוף הבקשה' שבהמשך מופיע תיאור מלא של תחביר גוף הבקשה.

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

שימו לב שמזהה השאילתה 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd נכלל בתגובה. בנוסף לסטטוס HTTP‏ 201, הערך state של enqueued מציין שהבקשה הצליחה.

HTTP/1.1 201 Created

{  
  "self":"/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
  "created":"2018-05-10T07:11:10Z",
  "state":"enqueued",
  "error":"false",
}

שלב 2. קבלת סטטוס השאילתה

כדי לבקש את הסטטוס של השאילתה, שולחים בקשת GET אל Queries API. אתם מספקים את מזהה השאילתה שהוחזר מקריאת ה-POST. לדוגמה:

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

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

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

אם השאילתה עדיין בתהליך, תקבלו תשובה כמו זו, שבה state הוא running:

{
    "self": "/organizations/myorg/environments/myenv/queries/1577884c-4f48-4735-9728-5da4b05876ab",
    "state": "running",
    "created": "2018-02-23T14:07:27Z",
    "updated": "2018-02-23T14:07:54Z"
}

אחרי שהשאילתה תושלם בהצלחה, תופיע תגובה כמו זו, שבה הערך של state הוא completed:

{
      "self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
      "state": "completed",
      "result": {
        "self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result",
        "expires": "2017-05-22T14:56:31Z"
      },
      "resultRows": 1,
      "resultFileSize": "922KB",
      "executionTime": "11 sec",
      "created": "2018-05-10T07:11:10Z",
      "updated": "2018-05-10T07:13:22Z"
}

שלב 3. אחזור תוצאות השאילתה

אחרי שהסטטוס של השאילתה הוא completed, אפשר להשתמש באחת משתי שיטות כדי לאחזר את תוצאות השאילתה:

  • getResulturl (מומלץ): זו שיטה חדשה יותר שמחזירה כתובת URL שבה אפשר לראות את תוצאות השאילתה. אין מגבלת גודל על התוצאות של שאילתה בשיטה הזו.
  • getResult: זו שיטה ישנה יותר שמורידה קובץ ZIP שמכיל את תוצאות השאילתה. השיטה הזו אוכפת מגבלת גודל של 32MB על תוצאות של שאילתה.

בכרטיסיות שלמטה מוצגות קריאות ל-API לאחזור תוצאות השאילתה באמצעות כל אחת מהשיטות. כמו בדוגמה שלמעלה, מזהה השאילתה הוא 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.

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

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

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

{
  "urls": [
    "uri": "https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7",
  "md5": "23db6982caef9e9152f1a5b2589e6ca3",
  "sizeBytes": 1024
  ]
}

התשובה מכילה רשימה urls[] עם השדות הבאים:

  • uri: מחרוזת שהיא כתובת ה-URL החתומה של נתוני ה-JSON של הדוח. אפשר לראות את הדוח בכתובת ה-URL.
  • md5: הגיבוב MD5 של נתוני ה-JSON.
  • sizeBytes: גודל הקובץ שמוחזר בבייטים.

במאמר מידע על תוצאות השאילתה מופיעה דוגמה לתוצאה בפורמט JSON.

getResult

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

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

כדי לאחזר את הקובץ שהורדתם, אתם צריכים להגדיר את הכלי שבו אתם משתמשים כך שישמור קובץ שהורדתם במערכת. לדוגמה:

  • אם משתמשים ב-cURL, אפשר להשתמש באפשרויות -O -J, כמו שמוצג למעלה.
  • אם משתמשים ב-Postman, צריך ללחוץ על הלחצן שמירה והורדה. במקרה כזה, קובץ ZIP בשם response יורד.
  • אם משתמשים בדפדפן Chrome, ההורדה מאושרת באופן אוטומטי.

אם הבקשה מצליחה ויש קבוצת תוצאות שאינה אפס, התוצאה מורדת ללקוח כקובץ JSON דחוס (מופרד בשורות חדשות). שם הקובץ שהורד יהיה OfflineQueryResult-.zip.

לדוגמה: OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip .

קובץ ה-ZIP מכיל קובץ ארכיון ‎ .gz של תוצאות ה-JSON. כדי לגשת לקובץ ה-JSON, צריך לבטל את הדחיסה של קובץ ההורדה ואז להשתמש בפקודה gzip כדי לחלץ את קובץ ה-JSON:

unzip OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
gzip -d QueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd-000000000000.json.gz

מידע על גוף הבקשה

בקטע הזה מתואר כל אחד מהפרמטרים שאפשר להשתמש בהם בגוף בקשת JSON לשאילתה. פרטים על המדדים והמאפיינים שבהם אפשר להשתמש בשאילתה זמינים במאמר בנושא הפניה ל-Analytics.

{  
   "metrics":[  
      {  
        "name":"metric_name",
        "function":"aggregation_function",
        "alias":"metric_display_name_in_results",
        "operator":"post_processing_operator",
        "value":"post_processing_operand"
      },
   ...
   ],
   "dimensions":[  
      "dimension_name",
      ...
   ],
   "timeRange":"time_range",
   "limit":results_limit,
   "filter":"filter",
   "groupByTimeUnit": "grouping",
   "outputFormat": "format",
   "csvDelimiter": "delimiter"
}
מאפיין (property) תיאור חובה?
metrics

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

  • name: (חובה) שם המדד כפי שמוגדר בטבלה ב-metrics.
  • function: (אופציונלי) פונקציית הצבירה כ-avg,‏ min,‏ max או sum.

    לא כל המדדים תומכים בכל פונקציות הצבירה. במסמכי התיעוד בנושא מדדים יש טבלה שמצוינים בה שם המדד והפונקציה (avg, ‏ min, ‏ max,‏ sum) שהמדד תומך בה.

  • alias: (אופציונלי) שם הנכס שמכיל את נתוני המדד בפלט. אם לא מציינים שם, ברירת המחדל היא שם המדד בשילוב עם שם פונקציית הצבירה.
  • operator: (אופציונלי) פעולה לביצוע על המדד אחרי חישוב הערך שלו. התכונה פועלת עם הנכס value. הפעולות הנתמכות כוללות: + - / % *.
  • value: (אופציונלי) הערך שמוחל על המדד המחושב על ידי operator שצוין.

המאפיינים operator ו-value מגדירים פעולת עיבוד שאחרי העיבוד שמבוצעת על המדד. לדוגמה, אם מציינים את המדד response_processing_latency, המדד מחזיר את זמן האחזור הממוצע של עיבוד התגובה ביחידה של אלפיות השנייה. כדי להמיר את היחידות לשניות, מגדירים את operator ל-"/" ואת value ל-”1000.0“:

"metrics":[  
  {  
    "name":"response_processing_latency",
    "function":"avg",
    "alias":"average_response_time_in_seconds",
    "operator":"/",
    "value":"1000"
  }
]

מידע נוסף זמין במאמר הפניה למדדים, למאפיינים ולמסננים ב-Analytics.

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

אפשר להשתמש במחרוזות המוגדרות מראש הבאות כדי לציין את טווח הזמן:

  • last60minutes
  • last24hours
  • last7days

אפשר גם לציין את timeRange כמבנה שמתאר את חותמות הזמן של ההתחלה והסיום בפורמט ISO: yyyy-mm-ddThh:mm:ssZ. לדוגמה:

"timeRange": {
    "start": "2018-07-29T00:13:00Z",
    "end": "2018-08-01T00:18:00Z"
}
כן
limit מספר השורות המקסימלי שאפשר להחזיר בתוצאה. לא
filter ביטוי בוליאני שאפשר להשתמש בו לסינון נתונים. אפשר לשלב בין ביטויי סינון באמצעות המונחים AND/OR, וצריך להוסיף סוגריים לכל הביטוי כדי למנוע דו-משמעות. מידע נוסף על השדות שאפשר לסנן לפי זמין במאמר הפניה למדדים, למאפיינים ולמסננים של Analytics. מידע נוסף על הטוקנים שבהם משתמשים כדי ליצור ביטויי סינון זמין במאמר תחביר של ביטויי סינון. לא
groupByTimeUnit יחידת הזמן שמשמשת לקיבוץ של קבוצת התוצאות. הערכים התקפים כוללים: second,‏ minute,‏ hour,‏ day,‏ week או month.

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

לא
outputFormat פורמט הפלט. הערכים התקפים כוללים: csv או json. ברירת המחדל היא json שמתאימה ל-JSON שמופרד בתו שורה חדשה.

הערה: כדי להגדיר את התו להפרדה של קובץ CSV, משתמשים במאפיין csvDelimiter.

לא
csvDelimiter התו המפריד שמשמש בקובץ ה-CSV, אם הערך של outputFormat הוא csv. ברירת המחדל היא התו , (פסיק). תווי המפריד הנתמכים כוללים פסיק (,), קו אנכי (|) וטאב (\t). לא

התחביר של ביטוי סינון

בקטע ההפניה הזה מתוארים האסימונים שבהם אפשר להשתמש כדי ליצור ביטויי מסננים בגוף הבקשה. לדוגמה, בביטוי הבא נעשה שימוש בטוקן ge (גדול או שווה ל):

"filter":"(message_count ge 0)"
אסימון תיאור דוגמאות
in הכללה ברשימה
(apiproxy in 'ethorapi','weather-api')

(apiproxy in 'ethorapi')

(apiproxy in 'Search','ViewItem')

(response_status_code in 400,401,500,501)

הערה: מחרוזות חייבות להיות במירכאות.

notin החרגה מהרשימה
(response_status_code notin 400,401,500,501)
eq שווה ל- (==)
(response_status_code eq 504)

(apiproxy eq 'non-prod')
ne לא שווה לערך (!=)
(response_status_code ne 500)

(apiproxy ne 'non-prod')
gt גדול מ->)
(response_status_code gt 500)
lt פחות מ- (<)
(response_status_code lt 500)
ge גדול מהערך >=) או שווה לו (>=)
(target_response_code ge 400)
le קטן מהערך <=) או שווה לו
(target_response_code le 300)
like הפונקציה מחזירה את הערך True אם מחרוזת התבנית תואמת לתבנית שצוינה.

הדוגמה משמאל מתאימה באופן הבא:

‫– כל ערך שמכיל את המילה buy

‫- כל ערך שמסתיים ב-item

– כל ערך שמתחיל ב-Prod

‫– כל ערך שמתחיל ב-4, שימו לב ש-response_status_code הוא מספרי

(apiproxy like '%buy%')

(apiproxy like '%item')

(apiproxy like 'Prod%')
not like הפונקציה מחזירה false אם דפוס המחרוזת תואם לדפוס שצוין.
(apiproxy not like '%buy%')

(apiproxy not like '%item')

(apiproxy not like 'Prod%')
and מאפשר להשתמש בלוגיקת 'וגם' כדי לכלול יותר מביטוי סינון אחד. המסנן כולל נתונים שעומדים בכל התנאים.
(target_response_code gt 399) and (response_status_code ge 400)
or מאפשר להשתמש בלוגיקה של 'או' כדי להעריך ביטויי מסנן שונים. המסנן כולל נתונים שעומדים לפחות באחד מהתנאים.
(response_size ge 1000) or (response_status_code eq 500)

מגבלות וערכי ברירת מחדל

בהמשך מפורטות מגבלות וערכי ברירת מחדל של התכונה לעיבוד שאילתות אסינכרוני.

מגבלה ברירת מחדל תיאור
מגבלת שאילתות לשיחות הצגת התיאור אפשר לבצע עד שבע קריאות בשעה ל-Apigee API‏ /queries כדי להפעיל דוח אסינכרוני. אם חורגים ממכסת הקריאות, ה-API מחזיר תגובת HTTP 429.
מגבלת שאילתות פעילות 10 אפשר להפעיל עד 10 שאילתות פעילות לארגון או לסביבה.
סף של משך ביצוע השאילתה 6 שעות שאילתות שנמשכות יותר מ-6 שעות יופסקו.
טווח הזמן של השאילתות הצגת התיאור טווח הזמן המקסימלי שמותר להגדיר בשאילתה הוא 365 ימים.
מגבלת המאפיינים והמדדים 25 המספר המקסימלי של מאפיינים ומדדים שאפשר לציין במטען הייעודי למטרה של השאילתה.

מידע על תוצאות השאילתה

התוצאה הבאה היא דוגמה בפורמט JSON. אופן הצגת התוצאות תלוי בשיטה שבה השתמשתם כדי לאחזר את תוצאות השאילתה:

  • אם השתמשתם בשיטה getResulturl תוכלו לראות את התוצאות בכתובת ה-URL שמופיעה בשדה uri של התוצאה. בשיטה הזו אין מגבלת גודל על תוצאות השאילתה.
  • אם השתמשתם בשיטה getResult, התוצאות יורדו בקובץ ZIP.

    השיטה getResult אוכפת מגבלת גודל של 32MB על התוצאות של שאילתה. אם התוצאות חורגות מ-32MB, השאילתה תחזיר קוד סטטוס 400 עם ההודעה 'תוצאת השאילתה גדולה מ-32MB'. כדי להימנע מהמגבלה הזו, צריך להשתמש בשיטה getReulturl כמו שמתואר במאמר אחזור תוצאות השאילתה.

התוצאות מורכבות משורות JSON שמופרדות באמצעות תו מפריד של שורה חדשה, כמו בדוגמה הבאה:

{"message_count":"10209","apiproxy":"guest-auth-v3","hour":"2018-08-07 19:26:00 UTC"}
{"message_count":"2462","apiproxy":"carts-v2","hour":"2018-08-06 13:16:00 UTC"}    
…

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

דוגמאות

דוגמה 1: סיכום של מספר ההודעות

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

שאילתה

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @last60minutes.json

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

גוף הבקשה מתוך last60minutes.json

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":"last60minutes"
}

דוגמה 2: טווח תאריכים בהתאמה אישית

אפשר להריץ שאילתה באמצעות טווח תאריכים מותאם אישית.

שאילתה

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @custom-timerange.json

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

תוכן הבקשה מ-custom-timerange.json

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      },
      {  
         "name":"total_response_time",
         "function":"avg",
         "alias":"average_response_time"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-11-01T11:00:00Z",
      "end":"2018-11-30T11:00:00Z"
   }
}

דוגמה 3: עסקאות לדקה

שאילתה על המדד של עסקאות בדקה (tpm).

שאילתה

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @tpm.json

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

גוף הבקשה מ-tpm.json

{  
   "metrics":[  
      {  
         "name":"tpm"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-07-01T11:00:00Z",
      "end":"2018-07-30T11:00:00Z"
   }
}

תוצאה לדוגמה

קטע מקובץ התוצאות:

{"tpm":149995.0,"apiproxy":"proxy_1","minute":"2018-07-06 12:16:00 UTC"}
{"tpm":149998.0,"apiproxy":"proxy_1","minute":"2018-07-09 15:12:00 UTC"}
{"tpm":3.0,"apiproxy":"proxy_2","minute":"2018-07-11 16:18:00 UTC"}
{"tpm":148916.0,"apiproxy":"proxy_1","minute":"2018-07-15 17:14:00 UTC"}
{"tpm":150002.0,"apiproxy":"proxy_1","minute":"2018-07-18 18:11:00 UTC"}
...

דוגמה 4: שימוש בביטוי סינון

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

שאילתה

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @filterCombo.json

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

גוף הבקשה מ-filterCombo.json

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      },
      {  
         "name":"total_response_time",
         "function":"avg",
         "alias":"average_response_time"
      }
   ],
   "filter":"(apiproxy ne \u0027proxy_1\u0027) and (apiproxy ne \u0027proxy_2\u0027)",
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-11-01T11:00:00Z",
      "end":"2018-11-30T11:00:00Z"
   }
}

דוגמה 5: העברת ביטוי בפרמטר metrics

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

שאילתה

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d @metricsExpression.json

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

תוכן הבקשה מ-metricsExpression.json

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum",
         "operator":"/",
         "value":"7"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":10,
   "timeRange":"last60minutes"
}