Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
A política ParsePayload extrai operações lógicas de payloads de solicitação estruturados (como JSON-RPC 2.0) para variáveis de fluxo de mensagens. Com essa funcionalidade, o administrador de proxy pode implementar uma 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 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 tempo 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 gerais de avaliação 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 comportamentos de formatação que correspondem 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 pós-análise preenchem as seguintes variáveis de fluxo predefinidas com base na carga útil.
| 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 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 |