שימוש בכלי לניפוי באגים

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

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

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

משתמשים באפשרות Offline Debug (ניפוי באגים במצב אופליין) כדי להציג ולנתח סשנים של ניפוי באגים שהורדו בעבר.

יצירת סשן לניפוי באגים

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

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

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

כדי ליצור סשן ניפוי באגים:

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

    מעבר אל API Proxies

  2. בוחרים את ה-proxy ל-API שרוצים לנפות בו באגים. תוצג החלונית סקירה כללית של עורך ה-Proxy.
  3. לוחצים על הכרטיסייה ניפוי באגים.
  4. לוחצים על התחלת סשן ניפוי באגים. תוצג החלונית התחלת סשן ניפוי באגים.
  5. בחלונית הפעלה של ניפוי באגים:

    1. בוחרים את הסביבה שבה רוצים להפעיל את סשן הניפוי באגים.
    2. (אופציונלי) בתפריט הנפתח Filter, בוחרים מסנן להחלה על כל העסקאות בסשן הניפוי באגים שיוצרים. ברירת המחדל היא None (All transactions), שכוללת את כל העסקאות בנתוני הניפוי באגים.

      מידע על שימוש במסננים זמין במאמר שימוש במסננים בסשן ניפוי באגים. מידע על המסננים המובנים זמין במאמר בנושא שימוש במסננים מוגדרים מראש.

    3. לוחצים על התחלה.

בממשק המשתמש של Apigee מוצג עכשיו החלונית Debug session in progress.

כאן אפשר ללחוץ כדי לראות תמונה גדולה יותר סשן חדש של ניפוי באגים

סשן הניפוי באגים מקליט בקשות למשך 10 דקות או עד ש-15 בקשות נשמרות. אם יוצרים את סשן הניפוי באגים באמצעות ה-API, אפשר לשנות את מגבלת הזמן של 10 דקות. בשדה Ends within מוצג משך הזמן שנותר בסשן.

לא יוצג מידע בחלונית Debug עד שתשלחו בקשה לשרת ה-proxy שאתם מנפים באגים בסביבה שנבחרה עבור סשן ניפוי הבאגים.

אחרי ששולחים את הבקשה, היא מוצגת בחלונית הרשימה Transactions (עסקאות). רשימת העסקאות מתעדכנת כל חמש שניות.

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

כדי לראות או להעתיק את פלט העסקה:

  1. ברשימה עסקאות, לוחצים על הצגת פלט של העסקה. החלונית Transaction output מוצגת.
  2. לוחצים על עסקה ספציפית או על כל העסקאות.
  3. לוחצים על העתקה כדי להעתיק את פלט העסקה ללוח.
  4. לוחצים על Close.

API

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

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

אפשר גם:

בדוגמה הבאה אפשר לראות איך יוצרים סשן ניפוי באגים באמצעות ה-API.

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

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

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

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

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

מידע נוסף מופיע במאמר בנושא יצירת API של הפעלת ניפוי באגים.

הגדרת אורך סשן ניפוי הבאגים באמצעות ה-API

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

{
      "timeout":"debug_session_length_in_seconds"
    }

בדוגמה הבאה נוצר סשן ניפוי באגים שאורכו 42 שניות בלבד:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

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

ערך ברירת המחדל של timeout הוא 300 (5 דקות). הערך המקסימלי הוא 600 שניות (10 דקות).

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

כתובת ה-URL של ה-proxy משמשת לשליחת בקשות ל-proxy ל-API.

כדי למצוא ולהעתיק את כתובת ה-URL של השרת הפרוקסי:

  1. בחלונית Debug session, בשדה URL, לוחצים על Copy.
  2. אם סשן ניפוי באגים לא פתוח:
    1. במסוף Google Cloud , עוברים לדף Apigee > Management > Environments > Environment Groups.

      כניסה לדף Environment Groups

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

כדי לבחור כתובת URL אחרת של שרת proxy:

  1. בחלונית Debug session, בשדה URL, לוחצים על Edit.
  2. מבצעים את השינויים הרצויים ולוחצים על עדכון.
  3. אם סשן ניפוי באגים לא פתוח:
    1. מוצאים את כתובת ה-URL של השרת הפרוקסי.
    2. לוחצים על אפשרויות נוספות, ואז על עריכה.
    3. מבצעים את השינויים הרצויים ולוחצים על עדכון.

התחלת סשן ניפוי באגים נוסף בממשק המשתמש

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

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

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

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

מתי מסתיים סשן ניפוי באגים?

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

כשיוצרים סשן ניפוי באגים, יש שני מאפיינים שקובעים מתי הוא מסתיים:

  • timeout: משך הזמן שבו נאספים נתונים במהלך סשן. אורך ברירת המחדל תלוי באופן שבו התחלתם את הסשן (דרך ממשק המשתמש או ה-API). הערך המקסימלי הוא 600 שניות (או 10 דקות).
  • count: המספר המקסימלי של בקשות שתועדו בסשן יחיד לכל מעבד הודעות. ברוב האשכולות, מספר מעבדי ההודעות משתנה, ולכן קשה לחזות את ההשפעות של המספר הזה. ‫Apigee לא ממליצה להתאים אישית את ההגדרה הזו.

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

המונחים הבאים משמשים לתיאור המצב של סשן ניפוי באגים:

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

איך לקרוא סשן ניפוי באגים

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

מידע נוסף:

כלי הניפוי באגים כולל שני חלקים עיקריים: חלונית העסקאות ופרטי השלב:

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

חלונית העסקאות

בחלונית העסקאות מוצגים השלבים בבקשה ובתשובה.

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

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

מקרא של חלונית העסקאות

בקטע הבא מפורטים הסמלים בחלונית הטרנזקציות:

בקטע הזה מוסבר על הסמלים בחלונית העסקאות:

סמלי מדיניות

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

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

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

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

כדי לסנן את הטבלה:

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

סוג המדיניות

קטגוריית המדיניות

סמל שם סוג קטגוריה
סמל המדיניות LLMTokenQuota מדיניות LLMTokenQuota ניתן להרחבה AI
chat_spark המדיניות PromptTokenLimit ניתן להרחבה AI
shield_spark המדיניות SanitizeUserPrompt ניתן להרחבה AI
shield_spark מדיניות SanitizeModelResponse ניתן להרחבה AI
async מדיניות SemanticCacheLookup ניתן להרחבה AI
async מדיניות SemanticCachePopulate ניתן להרחבה AI
manage_search מדיניות ParseDialogflowRequest ניתן להרחבה זרימת הדו-שיח
chat_add_on מדיניות SetDialogflowResponse ניתן להרחבה זרימת הדו-שיח
stacked_line_chart המדיניות בנושא איסוף נתונים ניתן להרחבה תוסף
display_external_input מדיניות ExternalCallout רגילה תוסף
flowsheet מדיניות בנושא נכסי יתרונות מרכזיים של זרימת תנועה ניתן להרחבה תוסף
פעולות אוטומטיות מדיניות IntegrationCallout ניתן להרחבה תוסף
סמל המדיניות JavaCallout מדיניות JavaCallout ניתן להרחבה תוסף
סמל מדיניות JavaScript מדיניות JavaScript ניתן להרחבה תוסף
add_notes מדיניות MessageLogging ניתן להרחבה תוסף
chat_paste_go מדיניות PublishMessage רגילה תוסף
סמל המדיניות של PythonScript המדיניות בנושא PythonScript ניתן להרחבה תוסף
integration_instructions מדיניות ServiceCallout ניתן להרחבה תוסף
פעולות אוטומטיות SetIntegrationRequest policy ניתן להרחבה תוסף
waterfall_chart מדיניות TraceCapture ניתן להרחבה תוסף
cloud_done מדיניות AccessEntity ניתן להרחבה תהליך בחירת הרשת (Mediation)
account_tree מדיניות AsseretCondition רגילה תהליך בחירת הרשת (Mediation)
edit_square מדיניות AssignMessage ניתן להרחבה תהליך בחירת הרשת (Mediation)
login מדיניות ExtractVariables ניתן להרחבה תהליך בחירת הרשת (Mediation)
סמל המדיניות של GraphQL מדיניות GraphQL רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות HTTPModifier רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות JSONtoXML רגילה תהליך בחירת הרשת (Mediation)
account_tree המדיניות בנושא KeyValueMapOperations ניתן להרחבה תהליך בחירת הרשת (Mediation)
sync_alt MonetizationLimitsCheck policy ניתן להרחבה תהליך בחירת הרשת (Mediation)
cloud_done OASValidation policy רגילה תהליך בחירת הרשת (Mediation)
דיווח מדיניות RaiseFault רגילה תהליך בחירת הרשת (Mediation)
sync_alt המדיניות ReadPropertySet רגילה תהליך בחירת הרשת (Mediation)
cloud_done המדיניות SOAPMessageValidation רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות XMLtoJSON רגילה תהליך בחירת הרשת (Mediation)
cloud_done מדיניות XSLTransform ניתן להרחבה תהליך בחירת הרשת (Mediation)
נעילה מדיניות AccessControl רגילה אבטחה
אבטחה מדיניות BasicAuthentication ניתן להרחבה אבטחה
connect_without_contact מדיניות CORS רגילה אבטחה
נעילה מדיניות DecodeJWS ניתן להרחבה אבטחה
נעילה מדיניות DecodeJWT רגילה אבטחה
מפתח גישה מדיניות DeleteOAuthV2Info ניתן להרחבה אבטחה
נעילה מדיניות GenerateSamlAssertion ניתן להרחבה אבטחה
נעילה GenerateJWS policy ניתן להרחבה אבטחה
נעילה מדיניות GenerateJWT ניתן להרחבה אבטחה
מפתח גישה מדיניות GetOAuthV2Info ניתן להרחבה אבטחה
נעילה מדיניות HMAC רגילה אבטחה
אבטחה מדיניות JSONThreatProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות OAuthV2 ניתן להרחבה אבטחה
אבטחה מדיניות RegularExpressionProtection ניתן להרחבה אבטחה
מפתח גישה RevokeOAuthV2 policy ניתן להרחבה אבטחה
מפתח גישה המדיניות SetOAuthV2Info ניתן להרחבה אבטחה
נעילה ValidateSamlAssertion policy ניתן להרחבה אבטחה
key מדיניות VerifyAPIKey ניתן להרחבה אבטחה
מפתח גישה VerifyIAM policy ניתן להרחבה אבטחה
נעילה VerifyJWS policy ניתן להרחבה אבטחה
נעילה מדיניות VerifyJWT רגילה אבטחה
אבטחה מדיניות XMLThreatProtection ניתן להרחבה אבטחה
cached InvalidateCache policy ניתן להרחבה ניהול תנועה
cached מדיניות LookupCache ניתן להרחבה ניהול תנועה
cached מדיניות PopulateCache ניתן להרחבה ניהול תנועה
סמל מדיניות המכסה מדיניות המכסות ניתן להרחבה ניהול תנועה
repartition מדיניות ResetQuota ניתן להרחבה ניהול תנועה
cached מדיניות ResponseCache ניתן להרחבה ניהול תנועה
emergency_home SpikeArrest policy רגילה ניהול תנועה

סמלים אחרים

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

כדי לסנן את הטבלה:

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

סוג הסמל

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

המעוין מציין את תחילת מקטע של זרימה ב-API proxy flow. פלחים של זרימת נתונים: בקשת ProxyEndpoint, בקשת TargetEndpoint, תגובת TargetEndpoint ותגובת ProxyEndpoint. פלח כולל את PreFlow,‏ Conditional Flows ו-PostFlow.

מידע נוסף זמין במאמר בנושא תהליכים מותנים.

סמל של תנאי true התנאי בתהליך מתקיים עסקה רגילה

תהליך מותנה שהערך שלו הוא True (כמו הצהרת if שהערך שלה הוא true). מידע נוסף על תהליכים מותנים זמין במאמר תהליכים מותנים.

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

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

סמל של תנאי שקר תנאי בתהליך שמוחזר כ-False עסקה רגילה

תהליך מותנה שהערך שלו הוא False. מידע נוסף על תהליכים מותנים

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

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

סמל המידע על התהליך פרטי התהליך עסקה רגילה מייצג מידע הקשרי על ההרצה של proxy ל-API, שמשתנה בהתאם לנקודה בתהליך. הוא כולל פרטים על הגדרת ה-proxy, מצב הביצוע הנוכחי (למשל, PreFlow,‏ PostFlow,‏ flow hooks), פרטי ביצוע המדיניות ומשתנים שאוכלסו במהלך ביצוע המדיניות, כדי לציין את המצב הספציפי של ה-proxy באותו שלב.
done_all ביצוע של תהליך עסקה רגילה מסמן את ההתחלה או הסוף של ביצוע זרימה, ומציין את מסגרת הזמן של פלח זרימה נפרד, כדי לתחום באופן חזותי את גבולות הזרימה ולציין את רצף הביצוע של הזרימה.
commit עיבוד ב-Flow עסקה רגילה מציין עיבוד פעיל בתהליך, שמייצג את התקופה שבה מופעלות מדיניות ולוגיקה של תהליך.
bar_chart נתונים שתועדו בניתוח הנתונים של Apigee עסקה רגילה מציין שפעולות של Analytics התרחשו ברקע.
location_on שירות לקצה העורפי עסקה רגילה שירות קצה עורפי שמקבל את הבקשה. יעד הקצה העורפי שאליו מתבצעת הקריאה על ידי שרת ה-proxy ל-API.
סמל מושבת מושבת סטטוס השלב מופיע בסמל של מדיניות כשהמדיניות מושבתת. אפשר להשבית מדיניות באמצעות ה-API הציבורי. מידע נוסף מופיע במאמר בנושא הפניית הגדרות של שרת proxy ל-API.
סמל שגיאה שגיאה סטטוס השלב מופיע בסמל של מדיניות כשהתנאי של שלב המדיניות מוערך כ-false (ראו תנאים עם משתני זרימה), או בסמל של מדיניות RaiseFault בכל פעם שמדיניות RaiseFault מופעלת.
סמל של דילוג דילגת על הפעולה סטטוס השלב מופיע בסמל מדיניות כשהמדיניות לא הופעלה כי התנאי של השלב הוגדר כ-false. מידע נוסף זמין במאמר תנאים עם משתני זרימה.

חלונית פרטי השלב

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

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

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

פרטי השלב תיאור
משתנים

רשימת משתני התהליך שנקראו והוקצה להם ערך על ידי מדיניות. ראו גם שימוש במשתני תהליך.

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

ציר הזמן

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

האות אפסילון (ε) מציינת טווח זמן קצר יותר מאלפית השנייה.

כדי לראות תמונה גדולה יותר, לוחצים עליה ציר הזמן בממשק המשתמש של Debug v2

הרחבה וכיווץ של קבוצות

בקטע הזה מוסבר איך להרחיב ולכווץ קבוצות בחלונית העסקאות.

שלבי העסקה, גם לבקשה וגם לתגובה, מקובצים לפי האופן שבו הם הוגדרו קודם בכרטיסייה Develop, לפי זרימה משותפת. לדוגמה: pre-proxy,‏ post-proxy,‏ pre-target ו-post-target.

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

כברירת מחדל, זרימות משותפות מקובצות ומכווצות.

אלה הפעולות שאפשר לבצע בחלונית העסקאות:

פריט שם תיאור
הרחבת כל המחוונים
<img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
הרחבת הכול
כיווץ הכול
הרחבה או כיווץ של כל הקבוצות.
סמל להרחבת קבוצה
סמל לכיווץ קבוצה
הרחבה
כיווץ
הרחבה או כיווץ של קבוצה.

מידע נוסף:

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

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

שימו לב לנקודות הבאות:

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

כדי לחפש:

  1. מקלידים טקסט בתיבת החיפוש.
  2. מקישים על Enter.

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

  3. לוחצים על keyboard_arrow_up הקודם או על keyboard_arrow_down הבא כדי לעבור לשלב הבא או הקודם.
כדי לראות תמונה גדולה יותר, לוחצים עליה תוצאות החיפוש בממשק המשתמש של Debug v2

Zoom

ב-Zoom אפשר לשלוט בתצוגה של חלונית הטרנזקציות.

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

כדי לראות תמונה גדולה יותר, לוחצים עליה ניפוי באגים בכפתורי הגדלה והקטנה בגרסה 2
סמל תיאור
100% רמת הזום הנוכחית. ברירת המחדל היא 100%.
fit_screen התאמה לגודל המסך
zoom_in Zoom in – התקרבות
zoom_out Zoom out – התרחקות
youtube_searched_for איפוס הזום

ניפוי באגים באמצעות הכלי לניפוי באגים

בניפוי הבאגים אפשר לראות הרבה פרטים פנימיים על proxy ל-API. לדוגמה:

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

סינון נתונים בסשן ניפוי באגים

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

שימו לב לנקודות הבאות:

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

שימוש במסננים

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

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

כשיוצרים סשן ניפוי באגים בממשק המשתמש, אפשר לבחור מסנן מוגדר מראש מהרשימה הנפתחת Filters כדי להחיל אותו בחלונית Start a debug session, או לבחור באפשרות Custom Filter וליצור מסנן משלכם באמצעות תחביר המסננים.

API

כדי ליצור סשן ניפוי באגים עם מסנן באמצעות ה-API, צריך לכלול את המידע הבא כמטען ייעודי (payload) בבקשה ליצירת סשן ניפוי באגים:

{
  "filter":"filter_body"
}

מידע על בניית מסננים זמין במאמר תחביר של מסננים.

בדוגמה הבאה נוצר סשן של ניפוי באגים שכולל רק טרנזקציות שבהן הכותרת A שווה ל-42 והכותרת B שווה ל-43, או שקוד השגיאה הוא ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

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

תחביר של מסננים

המסננים תומכים באותו תחביר שמשמש את התנאים של Apigee, כפי שמתואר בהפניה לתנאים. למשל:

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

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

מידע על שימוש במשתנים מותאמים אישית זמין במאמר How to use custom attributes in Apigee (איך משתמשים במאפיינים מותאמים אישית ב-Apigee) בקהילת Apigee.

מסננים מוגדרים מראש בממשק המשתמש

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

שם המסנן תיאור
Response Time Greater Than

בודק בעיות שקשורות לזמן טעינה במקרים הבאים:

  • target.duration הוא זמן האחזור של היעד, או משך הזמן באלפיות השנייה שנדרש לשליחת בקשה ליעד ולקבלת תשובה ממנו (מחושב כהפרש בין target.received.end.timestamp לבין target.sent.start.timestamp)
  • client.duration הוא זמן האחזור של הלקוח, או משך הזמן באלפיות השנייה שנדרש לשליחת בקשה מהלקוח ולקבלת תשובה ממנו (מחושב כהפרש בין client.received.end.timestamp לבין client.sent.start.timestamp)

לדוגמה:

target.duration > 420 && client.duration > 1000

מידע נוסף זמין במאמרים client וtarget בחומר העזר בנושא משתני זרימה.

Response Code

הפונקציה בודקת אם קוד התגובה של HTTP תואם לערך שצוין. לדוגמה:

response.status.code <= 599
Header

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

request.header.cache-control.1 == "16544"
Path

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

request.path == /myproxy/customer/4*
Query Param

הפונקציה בודקת אם פרמטר השאילתה שצוין בבקשה שווה לערך שצוין. לדוגמה:

request.queryparam.lang == "language:en-us"
Custom

מאפשר להוסיף ביטויים משלכם. אפשר להשתמש בכל האובייקטים בהפניה למשתני Flow ובסוגריים בהפניה לתנאים. בנוסף, אפשר להשתמש במשתנים מותאמים אישית.

מידע נוסף על יצירת מסננים בהתאמה אישית זמין במאמר בנושא תחביר של מסננים.

 

צפייה בסשנים של ניפוי באגים

ב-Apigee, נתוני סשן של ניפוי באגים נשמרים למשך 24 שעות. אי אפשר להגדיר את הערך הזה. אחרי 24 שעות, הנתונים לא יהיו זמינים יותר. עד אז, אפשר לראות את סשני ניפוי הבאגים.

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

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

כדי להציג סשנים של ניפוי באגים באמצעות Google Cloud המסוף

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

    מעבר אל API Proxies

  2. לוחצים על ה-proxy שרוצים לנפות בו באגים.
  3. לוחצים על הכרטיסייה ניפוי באגים.
  4. בקטע Recent debug sessions (הפעלות ניפוי באגים מהזמן האחרון) מוצגת רשימה של הפעלות ניפוי באגים שזמינות.
  5. לוחצים על הקישור של הסשן שרוצים לראות.

API

באמצעות ה-API, אפשר:

הצגת כל סשני הניפוי באגים באמצעות ה-API

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

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

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

  • pageSize: המספר המקסימלי של סשנים לניפוי באגים שיופיעו ברשימה. גודל הדף מוגדר כברירת מחדל ל-25.
  • pageToken: טוקן דף שמוחזר מקריאה קודמת, שאפשר להשתמש בו כדי לאחזר את הדף הבא.

בדוגמה הבאה אפשר לראות איך צופים בסשנים של ניפוי באגים בגרסה 1 של proxy ל-API של helloworld בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

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

התשובה כוללת אובייקט sessions שמכיל רשימה של סשנים פעילים של ניפוי באגים, כמו בדוגמה הבאה:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

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

מידע נוסף מופיע במאמר List Debug sessions API.

הצגת כל העסקאות בסשן ניפוי באגים באמצעות ה-API

כדי לראות רשימה של עסקאות בסשן ניפוי באגים, שולחים בקשת GET למשאב הבא:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

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

בדוגמה הבאה אפשר לראות איך צופים בעסקאות של סשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

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

התשובה כוללת מערך של מזהי עסקאות, כמו בדוגמה הבאה:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

מידע נוסף מופיע במאמר List debug session data API.

צפייה בנתוני טרנזקציות בסשן ניפוי באגים באמצעות ה-API

כדי להציג נתוני עסקאות בסשן ניפוי באגים, שולחים בקשת GET למשאב הבא:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

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

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

בדוגמה הבאה אפשר לראות איך מורידים את נתוני העסקאות של סשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

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

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

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

אם לא נוספו בקשות לסשן לפני שהוא הסתיים, התשובה תיראה כך:

[]

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

בחירת אפשרויות תצוגה בממשק המשתמש

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

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

כאן אפשר ללחוץ כדי לראות תמונה גדולה יותר הצגת רשימת האפשרויות
אפשרות תיאור
הצגת מדיניות מושבתת הצגת כל כללי המדיניות שהושבתו. אפשר להשבית מדיניות באמצעות ה-API הציבורי. מידע נוסף מופיע במאמר בנושא הפניית הגדרות של שרת proxy ל-API.
הצגת מדיניות שהמערכת דילגה עליה הצגת כל כללי המדיניות שדילגו עליהם. מדיניות שדילגו עליה היא מדיניות שלא בוצעה כי התנאי של השלב הוגדר כ-False. מידע נוסף זמין במאמר תנאים עם משתני זרימה.
הצגת כל פרטי הזרימה ייצוג מעברים בתוך פלח של זרימת נתונים.
הצגת כל התנאים של הזרימה מייצג את התנאים שנבדקו בכל תהליך.

שיתוף סשן של ניפוי באגים

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

הורדת נתוני סשן של ניפוי באגים

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

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

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

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

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

API

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

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

כאשר SESSION_ID הוא המזהה של סשן הניפוי באגים שרוצים להוריד.

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

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

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

הורדת מבנה הנתונים

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

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

כשמורידים נתונים באמצעות ממשק המשתמש של Apigee, מבנה הנתונים הוא:

  • כולל את כל העסקאות בסשן כולו
  • שמירת העסקאות במערך Messages
  • כולל מטא-נתונים על הסשן (כאובייקט DebugSession)

API

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

לדוגמה:

{
"completed": true,
"point": [
  ...
...
}

הורדת דוגמאות לנתונים

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

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

אם סשן הניפוי הבאגים לא כלל בקשות, המערך Message יהיה ריק, כמו בדוגמה הבאה:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

מחיקת נתונים של סשן ניפוי באגים

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

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

כדי למחוק סשן של ניפוי באגים במסוף Google Cloud :

  1. בכרטיסייה Debug, לוחצים על השורה של הסשן שרוצים למחוק.
  2. בחלונית Debug session, לוחצים על Delete.

API

כדי למחוק את כל נתוני סשן הניפוי באמצעות ה-API, שולחים בקשת DELETE למשאב הבא:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

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

בדוגמה הבאה מוצג איך למחוק נתונים של סשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

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

אם הביצוע יהיה תקין, גוף התגובה יהיה ריק.

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