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

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

לצפייה במאמרי העזרה של Apigee Edge.

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

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

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

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

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

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

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

  1. במסוף Google Cloud , נכנסים לדף Apigee > פיתוח proxy > proxy ל-API.

    כניסה לדף API Proxies

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

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

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

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

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

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

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

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

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

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

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

  1. ברשימה Transactions, לוחצים על View transaction output. החלונית Transaction output נפתחת.
  2. לוחצים על עסקה ספציפית או על כל העסקאות.
  3. לוחצים על Copy כדי להעתיק את פלט הטרנזקציה ללוח.
  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 של שרת ה-proxy.

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

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

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

      כניסה לדף Environment Groups

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מידע נוסף:

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

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

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

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

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

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

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

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

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

סמלי מדיניות

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

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

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

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

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

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

סוג המדיניות

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

סמל שם סוג קטגוריה
סמל המדיניות LLMTokenQuota המדיניות LLMTokenQuota ניתן להרחבה AI
chat_spark המדיניות PromptTokenLimit ניתן להרחבה AI
shield_spark המדיניות SanitizeUserPrompt ניתן להרחבה AI
shield_spark המדיניות SanitizeModelResponse ניתן להרחבה AI
async thought מדיניות SemanticCacheLookup ניתן להרחבה AI
async המדיניות SemanticCachePopulate ניתן להרחבה AI
manage_search המדיניות ParseDialogflowRequest ניתן להרחבה זרימת הדיאלוג
chat_add_on המדיניות SetDialogflowResponse ניתן להרחבה זרימת הדיאלוג
stacked_line_chart מדיניות DataCapture ניתן להרחבה תוסף
display_external_input המדיניות ExternalCallout רגילה תוסף
flowsheet מדיניות FlowCallout ניתן להרחבה תוסף
automation מדיניות IntegrationCallout ניתן להרחבה תוסף
סמל המדיניות של JavaCallout מדיניות JavaCallout ניתן להרחבה תוסף
סמל המדיניות בנושא JavaScript מדיניות JavaScript ניתן להרחבה תוסף
add_notes מדיניות MessageLogging ניתן להרחבה תוסף
chat_paste_go המדיניות PublishMessage רגילה תוסף
סמל המדיניות של PythonScript המדיניות בנושא PythonScript ניתן להרחבה תוסף
integration_instructions מדיניות ServiceCallout ניתן להרחבה תוסף
automation המדיניות SetIntegrationRequest ניתן להרחבה תוסף
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 thought מדיניות JSONtoXML רגילה תהליך בחירת הרשת (Mediation)
account_tree מדיניות KeyValueMapOperations ניתן להרחבה תהליך בחירת הרשת (Mediation)
sync_alt המדיניות MonetizationLimitsCheck ניתן להרחבה תהליך בחירת הרשת (Mediation)
cloud_done מדיניות OASValidation רגילה תהליך בחירת הרשת (Mediation)
דיווח מדיניות RaiseFault רגילה תהליך בחירת הרשת (Mediation)
sync_alt המדיניות ReadPropertySet רגילה תהליך בחירת הרשת (Mediation)
cloud_done מדיניות SOAPMessageValidation רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות XMLtoJSON רגילה תהליך בחירת הרשת (Mediation)
cloud_done מדיניות XSLTransform ניתן להרחבה תהליך בחירת הרשת (Mediation)
lock מדיניות AccessControl רגילה אבטחה
אבטחה מדיניות BasicAuthentication ניתן להרחבה אבטחה
connect_without_contact מדיניות CORS רגילה אבטחה
lock מדיניות DecodeJWS ניתן להרחבה אבטחה
lock מדיניות DecodeJWT רגילה אבטחה
מפתח גישה המדיניות DeleteOAuthV2Info ניתן להרחבה אבטחה
lock המדיניות GenerateSamlAssertion ניתן להרחבה אבטחה
lock thought כללי המדיניות של GenerateJWS ניתן להרחבה אבטחה
lock thought מדיניות GenerateJWT ניתן להרחבה אבטחה
מפתח גישה המדיניות GetOAuthV2Info ניתן להרחבה אבטחה
lock מדיניות HMAC רגילה אבטחה
אבטחה מדיניות JSONThreatProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות OAuthV2 ניתן להרחבה אבטחה
אבטחה מדיניות RegularExpressionProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות RevokeOAuthV2 ניתן להרחבה אבטחה
מפתח גישה המדיניות SetOAuthV2Info ניתן להרחבה אבטחה
lock המדיניות ValidateSamlAssertion ניתן להרחבה אבטחה
key מדיניות VerifyAPIKey ניתן להרחבה אבטחה
מפתח גישה אימות מדיניות IAM ניתן להרחבה אבטחה
lock מדיניות VerifyJWS ניתן להרחבה אבטחה
lock אימות מדיניות JWT רגילה אבטחה
אבטחה מדיניות XMLThreatProtection ניתן להרחבה אבטחה
cached המדיניות InvalidateCache ניתן להרחבה ניהול תנועה
cached מדיניות LookupCache ניתן להרחבה ניהול תנועה
cached המדיניות PopulateCache ניתן להרחבה ניהול תנועה
סמל מדיניות המכסות מדיניות המכסות ניתן להרחבה ניהול תנועה
repartition מדיניות ResetQuota ניתן להרחבה ניהול תנועה
cached <!--ResponseCache policy-->מדיניות ResponseCache ניתן להרחבה ניהול תנועה
emergency_home מדיניות SpikeArrest רגילה ניהול תנועה

סמלים אחרים

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

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

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

סוג הסמל

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

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

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

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

תהליך מותנה שהערך שלו הוא 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 עיבוד רצף הפעולות עסקה רגילה מציין עיבוד פעיל בתוך תהליך, ומייצג את התקופה שבה המדיניות והלוגיקה של התהליך מופעלות.
bar_chart נתונים שמתועדים בניתוח הנתונים של Apigee עסקה רגילה מציין שפעולות של Analytics התרחשו ברקע.
location_on שירות לקצה העורפי עסקה רגילה שירות לקצה העורפי שמקבל את הבקשה. יעד הקצה העורפי שאליו מתבצעת הקריאה על ידי ה-proxy ל-API.
סמל מושבת מושבת סטטוס השלב מופיע בסמל של מדיניות כשהמדיניות מושבתת. אפשר להשבית מדיניות באמצעות ה-API הציבורי. מידע נוסף זמין במאמר הפניה להגדרת proxy ל-API.
סמל שגיאה שגיאה סטטוס השלב מופיע בסמל של מדיניות כשהתנאי לביצוע השלב במדיניות מקבל את הערך false (ראו תנאים עם משתני זרימה), או בסמל של המדיניות RaiseFault בכל פעם שהמדיניות הזו מופעלת.
סמל של דילוג דילגת על הפעולה סטטוס השלב מופיע בסמל של מדיניות כשהמדיניות לא בוצעה כי התנאי לביצוע השלב הוערך כ-false. מידע נוסף זמין במאמר תנאים עם משתני זרימה.

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

בחלונית הפרטים של השלב מוצג המצב של שרת ה-proxy בכל שלב בתהליך.

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

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

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

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

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

ציר הזמן

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

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

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

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

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

השלבים של העסקה, גם לבקשה וגם לתגובה, מקובצים לפי האופן שבו הם הוגדרו קודם לכן בכרטיסייה 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="" />
הרחבת כל התשובות
כיווץ כל התשובות
הרחבה או כיווץ של כל הקבוצות.
סמל להרחבת הקבוצה
סמל של כיווץ קבוצה
הרחבה
כיווץ
הרחבה או כיווץ של קבוצה.

מידע נוסף:

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

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

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

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

כדי לחפש:

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

    תוצאות החיפוש מודגשות בחלונית Transaction ובחלונית Phase Details.

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

Zoom

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

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

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

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

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

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

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

כשיוצרים סשן ניפוי באגים, אפשר להוסיף לו מסנן כדי ש-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'

למידע על השימוש במשתנים מותאמים אישית, ראו איך משתמשים במאפיינים מותאמים אישית ב-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

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

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

 

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

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

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

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

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

  1. במסוף Google Cloud , נכנסים לדף פיתוח proxy ל-API > proxy ל-API.

    כניסה לדף 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 של ה-API‏ helloworld בסביבה 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"
]

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

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

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

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

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

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

בדוגמה הבאה אפשר לראות איך מורידים את נתוני העסקאות של סשן ניפוי באגים בגרסה 1 של ה-API של helloworld בסביבה 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 קנייני. אתם יכולים לשמור את הנתונים האלה ולהשתמש בהם מאוחר יותר בכלי לניפוי באגים אופליין.

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

[]

מידע נוסף זמין במאמר Get debug session data API.

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

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

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

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

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

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

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

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

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

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

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

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

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 של ה-API‏ helloworld בסביבה 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 תמחק אותו בשבילכם.