ParsePayload-Richtlinie

Erweiterbare Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Mit der ParsePayload-Richtlinie werden logische Vorgänge aus strukturierten Anfrage-Nutzlasten (z. B. JSON-RPC 2.0) in Nachrichtenflussvariablen extrahiert. Mit dieser Funktion kann der Proxy-Administrator bedingte Routinglogik direkt auf Grundlage des Inhalts von Clientanfragen und nicht auf Grundlage 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
Wert des Textknotens. 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
Wert des Textknotens. Unterstützter Wert: MCP. Erforderlich

Extrahierte Ablaufvariablen

Nach dem Parsen werden die folgenden vordefinierten Ablaufvariablen basierend auf der Nutzlast gefüllt.

Variablenname Beschreibung
apigee.payload.operation Erstellte Ausführungskennung.
  • Für tools/call ist es tools/call/{name} (z.B. tools/call/get_weather), um das aufgerufene Tool zu unterscheiden.
  • Für tools/list ist es tools/list. Es wird verwendet, wenn verfügbare Tools aufgelistet werden, ohne auf ein bestimmtes Tool ausgerichtet zu sein.
apigee.payload.json-rpc.request.method Das Feld method aus der JSON-RPC-Anfrage (z.B. tools/call oder tools/list).
apigee.payload.json-rpc.request.id Das Feld id aus der JSON-RPC-Anfrage.
apigee.payload.json-rpc.request.params.name Das Feld name in params (für tools/call ausgefüllt, um das Tool zu identifizieren).
apigee.payload.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
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