Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Mit der ParsePayload-Richtlinie werden logische Vorgänge aus strukturierten Anfragenutzlasten (z. B. JSON-RPC 2.0) in Message-Flow-Variablen extrahiert. Mit dieser Funktion kann der Proxyadministrator bedingte Routinglogik direkt auf Grundlage des Inhalts von Clientanfragen anstelle von einfachen Ressourcenpfaden oder Abfrageparametern implementieren.
Diese Richtlinie ist eine erweiterbare Richtlinie, deren Verwendung je nach Apigee-Lizenz Auswirkungen auf die Kosten oder die Nutzung haben kann. Informationen zu Richtlinientypen und Auswirkungen auf die Nutzung finden Sie unter Richtlinientypen.
Element <ParsePayload>
Gibt die Eigenschaften für die Validierung an, die auf die Auswertungszyklen der Anwendungslogik angewendet werden.
| Erforderlich/Optional? | Erforderlich |
| Übergeordnetes Element | – |
| Untergeordnete Elemente |
<Source><PayloadType><Protocol>
|
Syntax
Das ParsePayload-Element verwendet die folgende Syntax:
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
Beispiel
Das folgende Beispiel zeigt eine Standardkonfiguration für die ParsePayload-Richtlinie:
<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
<Source>
Gibt den Anfrage-/Antwort-Containerkontext an, der sofort durch Laufzeitbewertungen verarbeitet wird.
<Source>request</Source>
| Attribut | Beschreibung | Standard | Präsenz |
|---|---|---|---|
| – | Textknotenwert. Muss request oder response sein. |
request |
Optional |
<PayloadType>
Regelt die allgemeinen Bewertungsstrukturen, die in Bezug auf die Anforderungen an die Datenverarbeitung anerkannt werden.
<PayloadType>JSON-RPC-2.0</PayloadType>
| Attribut | Beschreibung | Standard | Präsenz |
|---|---|---|---|
| – | Textknotenwert. Unterstützte Werte: JSON-RPC-2.0. |
– | Erforderlich |
<Protocol>
Bestimmt das Formatierungsverhalten, das genau den Deklarationen der Zieloberfläche entspricht.
<Protocol>MCP</Protocol>
| Attribut | Beschreibung | Standard | Präsenz |
|---|---|---|---|
| – | Textknotenwert. Unterstützter Wert: MCP. |
– | Erforderlich |
Extrahierte Ablaufvariablen
Nachdem die Richtlinie erfolgreich ausgeführt wurde, werden Ablaufvariablen mit dem Präfix des Richtlinieninstanznamens eingefügt. Diese Variablen folgen dem Muster parsepayload.policyName.suffix, wobei policyName der Wert des Attributs name in der XML-Konfiguration der Richtlinie ist. Diese Namenskonvention entspricht anderen Apigee-Richtlinien wie VerifyAPIKey und ermöglicht es, dass mehrere ParsePayload-Richtlinien im selben Proxy unterschiedliche Variablennamespaces beibehalten.
Für eine Richtlinie mit dem Namen parse-payload-mcp werden die folgenden Variablen festgelegt:
| Variablenname | Beschreibung |
|---|---|
parsepayload.parse-payload-mcp.operation |
Erstellte Ausführungs-ID.
|
parsepayload.parse-payload-mcp.json-rpc.request.method |
Das Feld method aus der JSON-RPC-Anfrage (z.B. tools/call oder tools/list). |
parsepayload.parse-payload-mcp.json-rpc.request.id |
Das Feld id aus der JSON-RPC-Anfrage. |
parsepayload.parse-payload-mcp.json-rpc.request.params.name |
Das Feld name in params (für tools/call ausgefüllt, um das Tool zu identifizieren). |
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.{arg_name} |
Argumente, die im arguments-Objekt übergeben werden. String-Werte werden direkt gespeichert. Verschachtelte Objekte oder Arrays werden als serialisierte JSON-Strings gespeichert. |
Beispiel
Für die folgende JSON-RPC-Anfragenutzlast mit einfachen Argumenten:
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
Die Richtlinie füllt die folgenden Variablen aus:
| Variable | Wert |
|---|---|
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 |