Solicitações e respostas de streaming

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 arquivo http.properties para aumentar o limite no parâmetro HTTPResponse.body.buffer.limit e reinicie o processador de mensagens.
  • Para a versão 4.16.01 e mais recentes do Edge for Private Cloud:
    1. Edite o arquivo /<inst_root>/apigee/customer/application/message-processor.properties. Se esse arquivo não existir, crie-o.

    2. Defina o conf_http_HTTPResponse.body.buffer.limit em message-processor.properties. Para exemplo:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Reinicie o processador de mensagens:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor reiniciar

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