Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
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 da API lida com solicitações e/ou respostas muito grandes, ative o streaming. Para limites de tamanho, consulte O que mais devo saber sobre streaming abaixo.
O que mais eu preciso saber sobre o streaming?
O tamanho do payload da mensagem é restrito a 10 MB no Edge Cloud e
Nuvem privada, mesmo com streaming ativado. Em solicitações e respostas sem streaming, exceder
esse tamanho resulta em um erro protocol.http.TooBigBody
.
No Edge para implantações de nuvem privada, é possível modificar o tamanho da solicitação/resposta não transmitida ou ao atingir um limite estabelecido. Teste antes de implantar a alteração na produção.
- Para versões do Edge para nuvem privada anteriores à 4.16.01:
Em todos os processadores de mensagens, edite o arquivohttp.properties
para aumentar o limite no parâmetroHTTPResponse.body.buffer.limit
e reinicie o processador de mensagens. -
Para a versão 4.16.01 e mais recentes do Edge for Private Cloud:
-
Edite o arquivo /<inst_root>/apigee/customer/application/message-processor.properties. Se esse arquivo não existir, crie-o.
-
Defina o conf_http_HTTPResponse.body.buffer.limit em message-processor.properties. Para exemplo:
conf_http_HTTPResponse.body.buffer.limit=5m -
Reinicie o processador de mensagens:
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor reiniciar -
Repita essas etapas 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.
Localize esses arquivos de configuração na interface de gerenciamento da visualização de desenvolvimento 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 da 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.