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_PROXYouAWS_PROXY. Isso inclui integrações de proxy do Lambda e integrações privadas que utilizem integraçõesHTTP_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 paraSTREAM.-
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 como
STREAM, 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
.