本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 API Gateway 中串流代理整合的整合回應
您可以設定代理整合,以控制 API Gateway 如何傳回整合回應。根據預設,API Gateway 會在開始傳輸之前等待收到完整回應。不過,如果您將整合的回應傳輸模式設定為 STREAM,API Gateway 不會等待完全計算回應,再將其傳送至用戶端。回應串流適用於所有 REST API 端點類型。
針對下列使用案例使用回應串流:
-
降低聊天機器人等生成式 AI 應用程式time-to-first-byte (TTFB)。
-
不使用 S3 預先簽章的 URL 來串流大型影像、影片或音樂檔案。
-
在報告伺服器傳送事件 (SSE) 等增量進度時,執行長時間執行的操作。
-
超過 API Gateway 的 10 MB 回應承載限制。
超過 API Gateway 的 29 秒逾時限制,而不要求增加整合逾時限制。
接收二進位承載而不設定二進位媒體類型。
回應承載串流的考量
下列考量可能會影響您對回應承載串流的使用:
-
您只能對
HTTP_PROXY或AWS_PROXY整合類型使用回應承載串流。這包括 Lambda 代理整合和使用整合的私有HTTP_PROXY整合。 預設傳輸模式設定為
BUFFERED。若要使用回應串流,您必須將回應傳輸模式變更為STREAM。-
回應串流僅支援 REST APIs。
-
不支援請求串流。
-
您最多可以串流回應 15 分鐘。
您的串流會受到閒置逾時的影響。對於區域或私有端點,逾時為 5 分鐘。對於邊緣最佳化端點,逾時為 30 秒。
-
如果您使用區域 REST API 的回應串流搭配您自己的 CloudFront 分佈,您可以透過增加 CloudFront 分佈的回應逾時,達到超過 30 秒的閒置逾時。如需詳細資訊,請參閱回應逾時。
-
當回應傳輸模式設定為 時
STREAM,API Gateway 不支援需要緩衝整個整合回應的功能。因此,回應串流不支援下列功能:端點快取
-
內容編碼。如果您想要壓縮整合回應,請在整合中執行此操作。
使用 VTL 進行回應轉換
-
在每個串流回應中,前 10MB 的回應承載不受任何頻寬限制。超過 10MB 的回應承載資料限制為 2MB/s。
-
當用戶端和 API Gateway 之間的連線,或 API Gateway 和 Lambda 之間的連線因逾時而關閉時,Lambda 函數可能會繼續執行。如需詳細資訊,請參閱設定 Lambda 函數逾時。
-
回應串流會產生成本。如需詳細資訊,請參閱 API Gateway 定價
。