Antipadrão: acessar o payload de solicitação/resposta quando o streaming estiver ativado
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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.
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-03-12 UTC."],[[["Apigee's default behavior involves buffering HTTP request and response payloads in memory, but streaming can be enabled to send payloads directly to clients or target endpoints."],["Accessing request or response payloads when streaming is enabled in Apigee will revert the system to the default buffering mode."],["Disabling streaming by accessing the request/response payload can result in increased latency and higher memory consumption, potentially leading to `OutOfMemory` errors."],["The recommended practice is to avoid accessing the request/response payload when streaming is active to maintain the benefits of streaming."],["Streaming is beneficial for applications that handle large payloads or data delivered in chunks over time."]]],[]]