הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
המדיניות ParsePayload מחלצת פעולות לוגיות ממטענים מובנים של בקשות (כמו 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. |
לא רלוונטי | חובה |
משתני תהליך שחולצו
אחרי הניתוח, שגרות ממלאות מראש את משתני הזרימה הבאים על סמך מטען הייעודי (payload).
| שם המשתנה | תיאור |
|---|---|
apigee.payload.operation |
מזהה ההרצה שנוצר.
|
apigee.payload.json-rpc.request.method |
השדה method מבקשת JSON-RPC (לדוגמה, tools/call או tools/list). |
apigee.payload.json-rpc.request.id |
השדה id מבקשת JSON-RPC. |
apigee.payload.json-rpc.request.params.name |
השדה name בתוך params (מאוכלס עבור tools/call כדי לזהות את הכלי). |
apigee.payload.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 } } }
המדיניות מאכלסת את המשתנים הבאים:
| משתנה | ערך |
|---|---|
apigee.payload.operation |
tools/call/get_weather |
apigee.payload.json-rpc.request.method |
tools/call |
apigee.payload.json-rpc.request.id |
req_001 |
apigee.payload.json-rpc.request.params.name |
get_weather |
apigee.payload.json-rpc.request.params.arguments.location |
San Francisco, CA |
apigee.payload.json-rpc.request.params.arguments.forecast_days |
3 |