ParsePayload-Richtlinie

Erweiterbare Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Die ParsePayload-Richtlinie extrahiert logische Vorgänge aus strukturierten Anfragenutzlasten (z. B. JSON-RPC 2.0) in Variablen für den Nachrichtenfluss. Mit dieser Funktion kann der Proxyadministrator bedingte Routinglogik direkt auf Grundlage der Inhalte von Clientanfragen implementieren, anstatt auf grundlegenden Ressourcenpfaden oder Abfrageparametern.

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.

<ParsePayload>-Element

Gibt die Parsing-Properties für die Validierung an, die auf Zyklen zur Auswertung 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 Kontext des Anfrage-/Antwortcontainers an, der sofort durch Laufzeitauswertungen verarbeitet wird.

<Source>request</Source>
Attribut Beschreibung Standard Präsenz
Wert des Textknotens. Muss request oder response sein. request Optional

<PayloadType>

Steuert die allgemeinen Auswertungsstrukturen, die in Bezug auf die Anforderungen an die Datenverarbeitung erkannt werden.

<PayloadType>JSON-RPC-2.0</PayloadType>
Attribut Beschreibung Standard Präsenz
Wert des Textknotens. Unterstützte Werte: JSON-RPC-2.0. Erforderlich

<Protocol>

Bestimmt Formatierungsverhalten, das genau mit den Deklarationen der Zieloberfläche übereinstimmt.

<Protocol>MCP</Protocol>
Attribut Beschreibung Standard Präsenz
Wert des Textknotens. Unterstützter Wert: MCP. Erforderlich

Extrahierte Ablaufvariablen

Nachdem die Richtlinie erfolgreich ausgeführt wurde, werden Ablaufvariablen mit dem Namen der Richtlinieninstanz gefüllt. Diese Variablen folgen dem Muster parsepayload.policyName.suffix, wobei policyName der Wert des name Attributs in der XML-Konfiguration der Richtlinie ist. Diese Namenskonvention stimmt mit anderen Apigee-Richtlinien wie VerifyAPIKey überein 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.
  • Für tools/call ist sie tools/call/{name} (z.B. tools/call/get_weather), wodurch das aufgerufene Tool unterschieden wird.
  • Für tools/list ist sie tools/list. Sie wird verwendet, wenn verfügbare Tools aufgelistet werden, ohne ein bestimmtes Tool anzusprechen.
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 (wird 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 Objekt arguments übergeben werden. Stringwerte 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