Política ParsePayload

Política extensível

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 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 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

Depois que a política é executada, ela preenche variáveis de fluxo com o prefixo do nome da instância da política. Essas variáveis seguem o padrão parsepayload.policyName.suffix, em que policyName é o valor do atributo name na configuração XML da política. Essa convenção de nomenclatura é consistente com outras políticas da Apigee, como VerifyAPIKey, e permite que várias políticas ParsePayload no mesmo proxy mantenham namespaces de variáveis distintos.

Para uma política chamada parse-payload-mcp, as seguintes variáveis são definidas:

Nome da variável Descrição
parsepayload.parse-payload-mcp.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.
parsepayload.parse-payload-mcp.json-rpc.request.method O campo method da solicitação JSON-RPC (por exemplo, tools/call ou tools/list).
parsepayload.parse-payload-mcp.json-rpc.request.id O campo id da solicitação JSON-RPC.
parsepayload.parse-payload-mcp.json-rpc.request.params.name O campo name dentro de params (preenchido para tools/call identificar a ferramenta).
parsepayload.parse-payload-mcp.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
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