Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza
Apigee Edge documentazione.
La policy ParsePayload estrae le operazioni logiche dai payload delle richieste strutturate (come JSON-RPC 2.0) nelle variabili del flusso di messaggi. Questa funzionalità consente all'amministratore del proxy di implementare la logica di routing condizionale direttamente in base ai contenuti delle richieste client anziché ai percorsi delle risorse di base o parametri di ricerca.
Questa policy è una policy estensibile e il suo utilizzo potrebbe avere implicazioni sui costi o sull' utilizzo, a seconda della licenza Apigee. Per informazioni sui tipi di policy e sulle implicazioni di utilizzo, consulta Tipi di policy.
Elemento <ParsePayload>
Specifica le proprietà di analisi della convalida applicate ai cicli di valutazione della logica dell'applicazione.
| Obbligatorio? | Obbligatorio |
| Elemento principale | n/a |
| Elementi secondari |
<Source><PayloadType><Protocol>
|
Sintassi
L'elemento ParsePayload utilizza la seguente sintassi:
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
Esempio
L'esempio seguente mostra una configurazione standard per la policy ParsePayload:
<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
<Source>
Indica il contesto del container di richiesta/risposta elaborato immediatamente tramite le valutazioni di runtime.
<Source>request</Source>
| Attributo | Descrizione | Predefinito | Presenza |
|---|---|---|---|
| N/D | Valore del nodo di testo. Deve essere request o response. |
request |
Facoltativo |
<PayloadType>
Regola le strutture di valutazione complessive riconosciute in merito ai requisiti di trattamento dei dati.
<PayloadType>JSON-RPC-2.0</PayloadType>
| Attributo | Descrizione | Predefinito | Presenza |
|---|---|---|---|
| N/D | Valore del nodo di testo. Valori supportati: JSON-RPC-2.0. |
N/D | Obbligatorio |
<Protocol>
Determina i comportamenti di formattazione che corrispondono esattamente alle dichiarazioni dell'interfaccia di destinazione.
<Protocol>MCP</Protocol>
| Attributo | Descrizione | Predefinito | Presenza |
|---|---|---|---|
| N/D | Valore del nodo di testo. Valore supportato: MCP. |
N/D | Obbligatorio |
Variabili di flusso estratte
Una volta eseguita correttamente la policy, vengono inserite le variabili di flusso con il prefisso del nome dell'istanza della policy. Queste variabili seguono il pattern
parsepayload.policyName.suffix,
dove policyName è il valore dell'
name attributo nella configurazione XML della policy. Questa convenzione di denominazione è coerente con altre policy Apigee, come VerifyAPIKey, e consente a più policy ParsePayload nello stesso proxy di mantenere spazi dei nomi delle variabili distinti.
Per una policy denominata parse-payload-mcp, vengono impostate le seguenti variabili:
| Nome variabile | Descrizione |
|---|---|
parsepayload.parse-payload-mcp.operation |
Identificatore di esecuzione costruito.
|
parsepayload.parse-payload-mcp.json-rpc.request.method |
Il campo method della richiesta JSON-RPC (ad es. tools/call o tools/list). |
parsepayload.parse-payload-mcp.json-rpc.request.id |
Il campo id della richiesta JSON-RPC. |
parsepayload.parse-payload-mcp.json-rpc.request.params.name |
Il campo name all'interno di params (inserito per tools/call per identificare lo strumento). |
parsepayload.parse-payload-mcp.json-rpc.request.params.arguments.{arg_name} |
Argomenti passati nell'oggetto arguments. I valori stringa vengono archiviati direttamente; gli oggetti o gli array nidificati vengono archiviati come stringhe JSON serializzate. |
Esempio
Per il seguente payload della richiesta JSON-RPC con argomenti semplici:
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
La policy inserisce le seguenti variabili:
| Variabile | Valore |
|---|---|
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 |