Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
O que você aprenderá neste tópico
Depois de ler este tópico, você conhecerá as seguintes informações:
- O que é o streaming de solicitações e respostas no Apigee Edge.
- Quando usar o streaming de solicitação e resposta.
- Como ativar o streaming de solicitações e respostas.
O que é streaming de solicitação e resposta?
Por padrão, o streaming HTTP está desativado e os payloads de solicitações e respostas HTTP são gravados em um buffer na memória antes de serem processados pelo pipeline de proxy de API. É possível alterar esse comportamento ativando o streaming. Com o streaming ativado, os payloads de solicitação e resposta são transmitidos sem modificação para o app cliente (para respostas) e o endpoint de destino (para solicitações).
Quando devo ativar o streaming?
Se o proxy de API lida com solicitações e/ou respostas muito grandes (para limites de tamanho, consulte O que mais devo saber sobre streaming abaixo), talvez você queira ativar o streaming.
O que mais eu preciso saber sobre o streaming?
O tamanho do payload da mensagem é restrito a 10 MB no Edge Cloud e
na nuvem privada, mesmo com o streaming ativado. Em solicitações e respostas sem streaming, exceder
esse tamanho resulta em um erro protocol.http.TooBigBody.
Nas implantações do Edge para nuvem privada, é possível modificar o limite de tamanho de solicitação/resposta não transmitido. Faça testes antes de implantar a mudança na produção.
- Para versões do Edge para nuvem privada anteriores à 4.16.01:
Em todos os processadores de mensagens, edite o arquivohttp.propertiespara aumentar o limite no parâmetroHTTPResponse.body.buffer.limite reinicie o processador de mensagens. -
Para a versão 4.16.01 e mais recentes do Edge para nuvem privada:
-
Edite o arquivo /<inst_root>/apigee/customer/application/message-processor.properties. Se esse arquivo não existir, crie-o.
-
Defina a propriedade conf_http_HTTPResponse.body.buffer.limit em message-processor.properties. Por exemplo:
conf_http_HTTPResponse.body.buffer.limit=5m -
Reinicie o processador de mensagens:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor restart -
Repita para todos os processadores de mensagens.
-
Como ativar o streaming de solicitações e respostas
Para ativar o streaming de solicitações, é preciso adicionar a propriedade request.streaming.enabled
às definições ProxyEndpoint e TargetEndpoint no pacote de proxy e defini-la como
true. Da mesma forma, defina a propriedade response.streaming.enabled para ativar o streaming de resposta.
É possível localizar esses arquivos de configuração na interface de gerenciamento, na visualização "Desenvolver" do seu
proxy. Se você estiver desenvolvendo localmente, esses arquivos de definição estarão em apiproxy/proxies
e apiproxy/targets.
Neste exemplo, mostramos como ativar o streaming de solicitação e resposta na definição de TargetEndpoint.
<TargetEndpoint name="default">
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net</URL>
<Properties>
<Property name="response.streaming.enabled">true</Property>
<Property name="request.streaming.enabled">true</Property>
<Property name="supports.http10">true</Property>
<Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
<Property name="retain.queryparams">apikey</Property>
</Properties>
</HTTPTargetConnection>
</TargetEndpoint>Este exemplo mostra como ativar o recurso de resposta e solicitação de streaming na definição do ProxyEndpoint:
<ProxyEndpoint name="default">
<HTTPProxyConnection>
<BasePath>/v1/weather</BasePath>
<Properties>
<Property name="allow.http10">true</Property>
<Property name="response.streaming.enabled">true</Property>
<Property name="request.streaming.enabled">true</Property>
</Properties>
</HTTPProxyConnection>
</ProxyEndpoint>Para mais informações sobre como configurar definições de endpoint, consulte Referência de propriedades de endpoint.
Amostras de código relacionadas
As amostras de proxy de API no GitHub são fáceis de fazer o download e usar. Consulte Como usar os proxies de amostra da API para saber mais sobre como fazer o download e usar as amostras.
Os proxies de exemplo que apresentam streaming incluem:
- streaming: demonstra um proxy de API configurado para streaming HTTP.
- Edge Callout: Signed URL Generator: ilustra a prática recomendada de gerar um URL assinado para acessar arquivos grandes em vez de tentar transmiti-los em uma solicitação/resposta.