Esta página se aplica a Apigee e à Apigee híbrida.
Confira
Apigee Edge documentação.
A política ParsePayload extrai operações lógicas de payloads de solicitação estruturados (como JSON-RPC 2.0) em variáveis de fluxo de mensagens. Essa funcionalidade permite que o administrador do proxy implemente a lógica de roteamento condicional diretamente com base no conteúdo da solicitação do cliente, em vez de caminhos de recursos básicos ou parâmetros de consulta.
Esta é uma política extensível. O uso dela pode ter implicações no custo ou na utilização, dependendo da sua licença da Apigee. Para informações sobre tipos de política e implicações de uso, consulte Tipos de política.
Elemento <ParsePayload>
Especifica as propriedades de análise de validação aplicadas aos ciclos de avaliação da lógica do aplicativo.
| Obrigatório? | Obrigatório |
| Elemento pai | n/a |
| Elementos filhos |
<Source><PayloadType><Protocol>
|
Sintaxe
O elemento ParsePayload usa a seguinte sintaxe:
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
Exemplo
O exemplo a seguir mostra uma configuração padrão para a 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 o contexto do contêiner de solicitação/resposta processado imediatamente por avaliações de execução.
<Source>request</Source>
| Atributo | Descrição | Padrão | Presença |
|---|---|---|---|
| N/A | Valor do nó de texto. Precisa ser request ou response. |
request |
Opcional |
<PayloadType>
Governa as estruturas de avaliação gerais reconhecidas em relação aos requisitos de tratamento de dados.
<PayloadType>JSON-RPC-2.0</PayloadType>
| Atributo | Descrição | Padrão | Presença |
|---|---|---|---|
| N/A | Valor do nó de texto. Valores aceitos: JSON-RPC-2.0. |
N/A | Obrigatório |
<Protocol>
Determina os comportamentos de formatação correspondentes precisamente às declarações de interface de destino.
<Protocol>MCP</Protocol>
| Atributo | Descrição | Padrão | Presença |
|---|---|---|---|
| N/A | Valor do nó de texto. Valor compatível: MCP. |
N/A | Obrigatório |
Variáveis de fluxo extraídas
As rotinas de pós-análise preenchem as seguintes variáveis de fluxo predefinidas com base no payload.
| Nome da variável | Descrição |
|---|---|
apigee.payload.operation |
Identificador de execução construído.
|
apigee.payload.json-rpc.request.method |
O campo method da solicitação JSON-RPC (por exemplo, tools/call ou tools/list). |
apigee.payload.json-rpc.request.id |
O campo id da solicitação JSON-RPC. |
apigee.payload.json-rpc.request.params.name |
O campo name dentro de params (preenchido para tools/call para identificar a ferramenta). |
apigee.payload.json-rpc.request.params.arguments.{arg_name} |
Argumentos transmitidos no objeto arguments. Os valores de string são armazenados diretamente; objetos ou matrizes aninhados são armazenados como strings JSON serializadas. |
Exemplo
Para o seguinte payload de solicitação JSON-RPC com argumentos simples:
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
A política preenche as seguintes variáveis:
| Variável | 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 |