在 API Gateway 中流式传输代理集成的集成响应 - Amazon API Gateway

在 API Gateway 中流式传输代理集成的集成响应

您可以配置代理集成,以控制 API Gateway 如何返回您的集成响应。默认情况下,API Gateway 会等待收到完整的响应后再开始传输。但是,如果您将集成的响应传输模式设置为 STREAM,API Gateway 就不会等待响应完全生成完毕再发送给客户端。响应流式传输适用于所有 REST API 端点类型。

将响应流式传输用于以下使用案例:

  • 缩短生成式人工智能应用程序(如聊天机器人)的首字节时间(TTFB)。

  • 无需使用 S3 预签名 URL 即可流式传输大型图像、视频或音乐文件。

  • 执行长时间运行的操作时报告增量进度,如服务器发送事件(SSE)。

  • 超过 API Gateway 的 10 MB 响应有效载荷限制。

  • 无需申请增加集成超时限制即可突破 API Gateway 29 秒的超时限制。

  • 无需配置二进制媒体类型即可接收二进制有效载荷。

响应有效载荷流式传输的注意事项

以下注意事项可能会影响您对响应有效载荷流式传输的使用:

  • 您只能对 HTTP_PROXYAWS_PROXY 集成类型使用响应有效载荷流式传输。这包括 Lambda 代理集成和使用 HTTP_PROXY 集成的私有集成。

  • 默认传输模式设置为 BUFFERED。要使用响应流式传输,您必须将响应传输模式更改为 STREAM

  • 仅 REST API 支持响应流式传输。

  • 不支持请求流式传输。

  • 响应流式传输的最长持续时间为 15 分钟。

  • 流受空闲超时限制。对于区域端点或私有端点,超时时间为 5 分钟。对于边缘优化型端点,超时时间为 30 秒。

  • 如果您对使用自有 CloudFront 分配的区域 REST API 启用响应流式传输,可以通过增加 CloudFront 分配的响应超时来实现超过 30 秒的空闲超时。有关更多信息,请参阅响应超时

  • 当响应传输模式设置为 STREAM 时,API Gateway 不支持需要缓冲整个集成响应的功能。因此,响应流式传输不支持以下功能:

    • 端点缓存

    • 内容编码。如果要压缩集成响应,请在集成中执行此操作。

    • 使用 VTL 的响应转换

  • 在每个流式响应中,前 10 MB 的响应有效载荷不受任何带宽限制。超过 10 MB 的响应有效载荷数据将限制为 2 MB/s。

  • 当客户端与 API Gateway 之间或 API Gateway 与 Lambda 之间的连接因超时而关闭时,Lambda 函数可能会继续执行。有关更多信息,请参阅配置 Lambda 函数超时

  • 响应流式传输会产生费用。有关更多信息,请参阅 API Gateway 定价