Transmitir a resposta para suas integrações de proxy no API Gateway - Amazon API Gateway

Transmitir a resposta para suas integrações de proxy no API Gateway

É possível configurar sua integração de proxy para controlar como o API Gateway exibe sua resposta de integração. Por padrão, o API Gateway espera receber a resposta completa antes de iniciar a transmissão. No entanto, se você definir o modo de transferência de resposta da sua integração como STREAM, o API Gateway vai esperar uma resposta ser completamente calculada antes de enviá-la ao cliente. O streaming de resposta funciona para todos os tipos de endpoints da API REST.

Use o streaming de resposta para os seguintes casos de uso:

  • Reduzir o tempo até o primeiro byte (TTFB) para aplicações de IA generativa, como chatbots.

  • Transmitir arquivos grandes de imagem, vídeo ou música sem utilizar um URL pré-assinado do S3.

  • Realizar operações de longa duração enquanto relata o progresso incremental, como eventos enviados pelo servidor (SSE).

  • Exceder o limite de carga útil de resposta de 10 MB do API Gateway.

  • Exceder o limite de tempo limite de 29 segundos do API Gateway sem solicitar aumento do tempo limite de integração.

  • Receber uma carga útil binária sem configurar os tipos de mídia binária.

Considerações sobre streaming de carga útil de resposta

As seguintes considerações podem afetar o uso de streaming de carga útil de resposta:

  • Você só pode usar streaming de carga útil de resposta para os tipos de integração HTTP_PROXY ou AWS_PROXY. Isso inclui integrações de proxy do Lambda e integrações privadas que utilizem integrações HTTP_PROXY.

  • A configuração padrão do modo de transferência é BUFFERED. Para usar o streaming de resposta, você deve alterar o modo de transferência de resposta para STREAM.

  • O streaming de resposta só aceita APIs REST.

  • A solicitação de streaming não é aceita.

  • Você pode transmitir sua resposta por até 15 minutos.

  • Seus fluxos estão sujeitos a tempos limite de inatividade. No caso de endpoints regionais ou privados, o tempo limite é de 5 minutos. Em relação a endpoints otimizados para borda, o tempo limite é de 30 segundos.

  • Se você usar streaming de resposta para uma API REST regional com sua própria distribuição do CloudFront, poderá atingir um tempo limite de inatividade superior a 30 segundos aumentando o tempo limite de resposta da sua distribuição do CloudFront. Para acessar mais informações, consulte Tempo limite de resposta.

  • Quando o modo de transferência de resposta está definido comoSTREAM, o API Gateway não comporta recursos que exijam o armazenamento em buffer de toda a resposta da integração. Por esse motivo, os seguintes recursos não comportam o streaming de respostas:

    • Cache de endpoints

    • Codificação de conteúdo. Se você quiser compactar sua resposta de integração, faça isso em sua integração.

    • Transformação de resposta com VTL

  • Em cada resposta de streaming, os primeiros 10 MB de carga útil de resposta não estão sujeitos a nenhuma restrição de largura de banda. Os dados de carga útil de resposta que excedem 10 MB ficam restritos a 2 MB/s.

  • Quando a conexão entre o cliente e o API Gateway ou entre o API Gateway e o Lambda é fechada devido ao tempo limite, a função do Lambda pode continuar sendo executada. Para acessar mais informações, consulte Configurar tempo limite das funções do Lambda.

  • O streaming de resposta gera um custo. Para obter mais informações, consulte Preços do API Gateway.