Política ParsePayload

Política padrão

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.
  • Para tools/call, é tools/call/{name} (por exemplo, tools/call/get_weather), distinguindo a ferramenta específica que está sendo invocada.
  • Para tools/list, é tools/list, usado ao listar ferramentas disponíveis sem segmentar uma específica.
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