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

הדף הזה רלוונטי ל-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 שאתם מנפים באגים בסביבה שנבחרה עבור סשן ניפוי הבאגים.

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

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

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

  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, בלי שתצטרכו לכתוב קוד או לשנות שירותי קצה עורפי.

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

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

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

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

סוג המדיניות

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

סמל שם סוג קטגוריה
סמל המדיניות LLMTokenQuota מדיניות LLMTokenQuota ניתן להרחבה AI
chat_spark מדיניות PromptTokenLimit ניתן להרחבה AI
shield_spark המדיניות SanitizeUserPrompt ניתן להרחבה AI
shield_spark מדיניות SanitizeModelResponse ניתן להרחבה AI
async מדיניות SemanticCacheLookup ניתן להרחבה AI
async SemanticCachePopulate policy ניתן להרחבה AI
manage_search ParseDialogflowRequest policy ניתן להרחבה זרימת שיחה
chat_add_on מדיניות SetDialogflowResponse ניתן להרחבה זרימת הדו-שיח
stacked_line_chart המדיניות בנושא איסוף נתונים ניתן להרחבה תוסף
display_external_input ExternalCallout policy רגילה תוסף
flowsheet מדיניות בנושא נכסי יתרונות מרכזיים של זרימת תנועה ניתן להרחבה תוסף
automation מדיניות IntegrationCallout ניתן להרחבה תוסף
סמל המדיניות JavaCallout מדיניות JavaCallout ניתן להרחבה תוסף
סמל מדיניות JavaScript מדיניות JavaScript ניתן להרחבה תוסף
add_notes מדיניות MessageLogging ניתן להרחבה תוסף
chat_paste_go מדיניות PublishMessage רגילה תוסף
סמל המדיניות של PythonScript המדיניות בנושא PythonScript ניתן להרחבה תוסף
integration_instructions מדיניות ServiceCallout ניתן להרחבה תוסף
automation 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 ניתן להרחבה אבטחה
נעילה מדיניות GenerateJWT ניתן להרחבה אבטחה
מפתח גישה מדיניות GetOAuthV2Info ניתן להרחבה אבטחה
נעילה מדיניות HMAC רגילה אבטחה
אבטחה מדיניות JSONThreatProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות OAuthV2 ניתן להרחבה אבטחה
אבטחה מדיניות RegularExpressionProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות RevokeOAuthV2 ניתן להרחבה אבטחה
מפתח גישה מדיניות SetOAuthV2Info ניתן להרחבה אבטחה
נעילה ValidateSamlAssertion policy ניתן להרחבה אבטחה
key מדיניות VerifyAPIKey ניתן להרחבה אבטחה
מפתח גישה VerifyIAM policy ניתן להרחבה אבטחה
נעילה VerifyJWS policy ניתן להרחבה אבטחה
נעילה מדיניות VerifyJWT רגילה אבטחה
אבטחה מדיניות XMLThreatProtection ניתן להרחבה אבטחה
cached המדיניות InvalidateCache ניתן להרחבה ניהול תנועה
cached מדיניות LookupCache ניתן להרחבה ניהול תנועה
cached מדיניות PopulateCache ניתן להרחבה ניהול תנועה
סמל מדיניות המכסה מדיניות המכסות ניתן להרחבה ניהול תנועה
repartition מדיניות ResetQuota ניתן להרחבה ניהול תנועה
cached מדיניות ResponseCache ניתן להרחבה ניהול תנועה
emergency_home SpikeArrest policy רגילה ניהול תנועה

סמלים אחרים

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

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

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

סוג הסמל

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

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

מידע נוסף:

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

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

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

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

כדי לחפש:

  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, הבחנתם בירידה חריגה בביצועים של אחד ממשקי ה-API שלכם. עכשיו אפשר להשתמש בכלי לניפוי באגים כדי לזהות את צוואר הבקבוק. הפונקציה Debug מחזירה את משך הזמן, באלפיות השנייה, שנדרש להשלמת כל שלב עיבוד. אם אתם מגלים ששלב מסוים נמשך יותר מדי זמן, אתם יכולים לבצע פעולת תיקון.
  • אתם יכולים לבדוק את הכותרות שנשלחות אל ה-backend, לראות את המשתנים שמוגדרים על ידי כללי המדיניות וכו'.
  • אימות של נתיב הבסיס מאפשר לוודא שהמדיניות מנתבת את ההודעה לשרת הנכון.

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

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

מידע נוסף זמין במאמר Flow variables reference (חומר עזר בנושא משתני זרימה) בקטעים 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 של 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"
]

מידע נוסף מופיע במאמר 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 תמחק אותם בשבילכם.