מדיניות ParsePayload

מדיניות ניתנת להרחבה

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

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

המדיניות ParsePayload מחלצת פעולות לוגיות ממטענים (payloads) של בקשות מובְנות (כמו JSON-RPC 2.0) למשתני זרימת הודעות. הפונקציונליות הזו מאפשרת לאדמין של ה-proxy להטמיע לוגיקה של ניתוב מותנה ישירות על סמך תוכן הבקשה של הלקוח, במקום על סמך נתיבי משאבים בסיסיים או פרמטרים של שאילתות.

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

רכיב <ParsePayload>

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

חובה? חובה
רכיב אב לא רלוונטי
רכיבי צאצא <Source>
<PayloadType>
<Protocol>

תחביר

רכיב ParsePayload משתמש בתחביר הבא:

<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

דוגמה

בדוגמה הבאה מוצגת הגדרה רגילה של מדיניות ParsePayload:

<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp">
    <Source>request</Source>
    <PayloadType>JSON-RPC-2.0</PayloadType>
    <Protocol>MCP</Protocol>
</ParsePayload>

<Source>

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

<Source>request</Source>
מאפיין תיאור ברירת מחדל נוכחות
לא רלוונטי ערך של צומת טקסט. הערך חייב להיות request או response. request אופציונלי

<PayloadType>

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

<PayloadType>JSON-RPC-2.0</PayloadType>
מאפיין תיאור ברירת מחדל נוכחות
לא רלוונטי ערך של צומת טקסט. ערכים נתמכים: JSON-RPC-2.0. לא רלוונטי חובה

<Protocol>

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

<Protocol>MCP</Protocol>
מאפיין תיאור ברירת מחדל נוכחות
לא רלוונטי ערך של צומת טקסט. ערך נתמך: MCP. לא רלוונטי חובה

משתני תהליך שחולצו

אחרי שהמדיניות מופעלת בהצלחה, היא מאכלסת משתני זרימה עם קידומת של שם מופע המדיניות. המשתנים האלה פועלים לפי התבנית parsepayload.policyName.suffix, כאשר policyName הוא הערך של המאפיין name בהגדרת ה-XML של המדיניות. מוסכמת השמות הזו עקבית עם סוגי מדיניות אחרים של Apigee, כמו VerifyAPIKey, ומאפשרת שימוש בכמה סוגי מדיניות של ParsePayload באותו שרת proxy, כדי לשמור על מרחבי שמות נפרדים של משתנים.

למדיניות בשם parse-payload-mcp, המשתנים הבאים מוגדרים:

שם המשתנה תיאור
parsepayload.parse-payload-mcp.operation מזהה ההרצה שנבנה.
  • ב-tools/call, זה tools/call/{name} (למשל, tools/call/get_weather), כדי להבחין בין הכלים הספציפיים שמופעלים.
  • ב-tools/list, הערך הוא tools/list, שמשמש כשמציגים רשימה של כלים זמינים בלי לטרגט כלי ספציפי.
parsepayload.parse-payload-mcp.json-rpc.request.method השדה method מבקשת JSON-RPC (למשל, tools/call או tools/list).
parsepayload.parse-payload-mcp.json-rpc.request.id השדה id מבקשת JSON-RPC.
parsepayload.parse-payload-mcp.json-rpc.request.params.name השדה name בתוך params (מאוכלס עבור tools/call כדי לזהות את הכלי).
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.{arg_name} הארגומנטים שמועברים באובייקט arguments. ערכי מחרוזות מאוחסנים ישירות. אובייקטים או מערכים מוטמעים מאוחסנים כמחרוזות JSON שעברו סריאליזציה.

דוגמה

למטען הייעודי (payload) של בקשת JSON-RPC הבאה עם ארגומנטים פשוטים:

{
  "jsonrpc": "2.0",
  "id": "req_001",
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {
      "location": "San Francisco, CA",
      "forecast_days": 3
    }
  }
}

המדיניות מאכלסת את המשתנים הבאים:

משתנה ערך
parsepayload.parse-payload-mcp.operation tools/call/get_weather
parsepayload.parse-payload-mcp.json-rpc.request.method tools/call
parsepayload.parse-payload-mcp.json-rpc.request.id req_001
parsepayload.parse-payload-mcp.json-rpc.request.params.name get_weather
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.location San Francisco, CA
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.forecast_days 3