

# 在 API Gateway 中流式传输代理集成的集成响应
<a name="response-transfer-mode"></a>

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

将响应流式传输用于以下使用案例：
+ 缩短生成式人工智能应用程序（如聊天机器人）的首字节时间（TTFB）。
+ 无需使用 S3 预签名 URL 即可流式传输大型图像、视频或音乐文件。
+ 执行长时间运行的操作时报告增量进度，如服务器发送事件（SSE）。
+ 超过 API Gateway 的 10 MB 响应有效载荷限制。
+ 无需申请增加集成超时限制即可突破 API Gateway 29 秒的超时限制。
+ 无需配置二进制媒体类型即可接收二进制有效载荷。

## 响应有效载荷流式传输的注意事项
<a name="response-transfer-mode-considerations"></a>

以下注意事项可能会影响您对响应有效载荷流式传输的使用：
+ 您只能对 `HTTP_PROXY` 或 `AWS_PROXY` 集成类型使用响应有效载荷流式传输。这包括 Lambda 代理集成和使用 `HTTP_PROXY` 集成的私有集成。
+ 默认传输模式设置为 `BUFFERED`。要使用响应流式传输，您必须将响应传输模式更改为 `STREAM`。
+ 仅 REST API 支持响应流式传输。
+ 不支持请求流式传输。
+ 响应流式传输的最长持续时间为 15 分钟。
+ 流受空闲超时限制。对于区域端点或私有端点，超时时间为 5 分钟。对于边缘优化型端点，超时时间为 30 秒。
+ 如果您对使用自有 CloudFront 分配的区域 REST API 启用响应流式传输，可以通过增加 CloudFront 分配的响应超时来实现超过 30 秒的空闲超时。有关更多信息，请参阅[响应超时](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout)。
+ 当响应传输模式设置为 `STREAM` 时，API Gateway 不支持需要缓冲整个集成响应的功能。因此，响应流式传输不支持以下功能：
  + 端点缓存
  + 内容编码。如果要压缩集成响应，请在集成中执行此操作。
  + 使用 VTL 的响应转换
+ 在每个流式响应中，前 10 MB 的响应有效载荷不受任何带宽限制。超过 10 MB 的响应有效载荷数据将限制为 2 MB/s。
+ 当客户端与 API Gateway 之间或 API Gateway 与 Lambda 之间的连接因超时而关闭时，Lambda 函数可能会继续执行。有关更多信息，请参阅[配置 Lambda 函数超时](https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html)。
+ 响应流式传输会产生费用。有关更多信息，请参阅 [API Gateway 定价](https://aws.amazon.com/api-gateway/pricing/)。