Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
La política ParsePayload extrae operaciones lógicas de cargas útiles de solicitudes estructuradas (como JSON-RPC 2.0) en variables de flujo de mensajes. Esta funcionalidad permite que el administrador del proxy implemente lógica de enrutamiento condicional directamente en función del contenido de la solicitud del cliente, en lugar de rutas de recursos o parámetros de consulta básicos.
Esta política es una política extensible, y el uso de esta política puede tener implicaciones de costo o uso, según tu licencia de Apigee. Para obtener información sobre los tipos de políticas y sus implicaciones de uso, consulta Tipos de políticas.
Elemento <ParsePayload>
Especifica las propiedades de análisis de validación que se aplican a los ciclos de evaluación de la lógica de la aplicación.
| ¿Es obligatorio? | Obligatorio |
| Elemento principal | n/a |
| Elementos secundarios |
<Source><PayloadType><Protocol>
|
Sintaxis
El elemento ParsePayload usa la siguiente sintaxis:
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
Ejemplo
En el siguiente ejemplo, se muestra una configuración estándar para la política 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 el contexto del contenedor de solicitud o respuesta que se procesa de inmediato a través de evaluaciones del entorno de ejecución.
<Source>request</Source>
| Atributo | Descripción | Predeterminado | Presencia |
|---|---|---|---|
| N/A | Es el valor del nodo de texto. Debe ser request o response. |
request |
Opcional |
<PayloadType>
Rige las estructuras generales de evaluación reconocidas en relación con los requisitos de procesamiento de datos.
<PayloadType>JSON-RPC-2.0</PayloadType>
| Atributo | Descripción | Predeterminado | Presencia |
|---|---|---|---|
| N/A | Es el valor del nodo de texto. Valores admitidos: JSON-RPC-2.0 |
N/A | Obligatorio |
<Protocol>
Determina los comportamientos de formato que corresponden con precisión a las declaraciones de la interfaz de destino.
<Protocol>MCP</Protocol>
| Atributo | Descripción | Predeterminado | Presencia |
|---|---|---|---|
| N/A | Es el valor del nodo de texto. Valor admitido: MCP. |
N/A | Obligatorio |
Variables de flujo extraídas
Las rutinas posteriores al análisis completan las siguientes variables de flujo predefinidas según la carga útil.
| Nombre de la variable | Descripción |
|---|---|
apigee.payload.operation |
Es el identificador de ejecución construido.
|
apigee.payload.json-rpc.request.method |
El campo method de la solicitud JSON-RPC (p.ej., tools/call o tools/list). |
apigee.payload.json-rpc.request.id |
Es el campo id de la solicitud JSON-RPC. |
apigee.payload.json-rpc.request.params.name |
El campo name dentro de params (se completa para que tools/call identifique la herramienta). |
apigee.payload.json-rpc.request.params.arguments.{arg_name} |
Son los argumentos que se pasan en el objeto arguments. Los valores de cadena se almacenan directamente; los objetos o arrays anidados se almacenan como cadenas JSON serializadas. |
Ejemplo
Para la siguiente carga útil de solicitud de JSON-RPC con argumentos simples:
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
La política propaga las siguientes variables:
| Variable | Valor |
|---|---|
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 |