Antipadrão: acessar o payload de solicitação/resposta quando o streaming estiver ativado

Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da Apigee Edge.

Na Apigee, o comportamento padrão é que os payloads HTTP de solicitação e resposta sejam armazenados em um buffer na memória antes de serem processados pelas políticas no proxy da API.

Se o streaming estiver ativado, os payloads de solicitação e resposta serão transmitidos sem modificação para o app cliente (para respostas) e o endpoint de destino (para solicitações). O streaming é útil especialmente se um aplicativo aceitar ou retornar payloads grandes ou se houver um aplicativo que retorne dados em partes ao longo do tempo.

Antipadrão

O acesso ao payload de solicitação/resposta com streaming ativado faz com que a Apigee retorne ao modo de buffer padrão.

Solicitação para Poluição de cota do processador de mensagens para extrair variáveis de variáveis para o destino.
            Destino de processamento de mensagem JSONToXML para resposta.
Figura 1: acesso ao payload de solicitação/resposta com streaming ativado

A ilustração acima mostra que estamos tentando extrair variáveis do payload da solicitação e converter o payload da resposta JSON em XML usando a política JSONToXML. Isso desativará o streaming na Apigee.

Impacto

  • O streaming será desativado, o que pode aumentar a latência no processamento dos dados.
  • É possível observar um aumento no uso de memória de heap ou erros de OutOfMemory nos processadores de mensagens devido ao uso de buffers na memória, especialmente se houver grandes payloads de solicitação/resposta

Prática recomendada

  • Não acesse o payload de solicitação/resposta quando o streaming estiver ativado.

Leitura adicional