Lambda 函數的回應串流 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Lambda 函數的回應串流

您可以設定 Lambda 函數,URLs將回應承載串流回應給用戶端。回應串流可藉由改善到第一個位元組 (TTFB) 效能的時間,有利於對延遲敏感的應用 這是因為您可以在部分回應可用時將其傳回給用戶端。此外,您可以使用回應串流來建置可傳回更大承載的函數。與緩衝回應的 6 MB 限制相比,回應串流承載的軟性限制為 20 MB。串流回應也意味著您的函數不需要將整個回應放在記憶體裡。若是非常大的回應,這有助於減少您需要為函數設定的記憶體容量。

Lambda 串流回應的速度取決於回應的大小。函數回應的串流速度在前 6 MB 不受限制。若回應大於 6 MB,則其餘的回應會受到頻寬上限的限制。如需串流頻寬的詳細資訊,請參閱回應串流的頻寬限制

串流回應會產生成本。如需詳細資訊,請參閱 AWS Lambda 定價

Lambda 支援 Node.js 受管執行期的回應串流。對於其他語言,您可以使用具有自訂執行階段API整合的自訂執行階段來串流回應或使用 Lambda Web 轉接器。您可以透過 Lambda 函數URLs或使用 Lambda 函數來串流回應InvokeWithResponseStreamAPI。 AWS SDK

注意

透過 Lambda 主控台測試函數時,您一律會看到緩衝的回應。

回應串流的頻寬限制

函數回應有效負載的前 6 MB 不受頻寬限制。在此初始突發之後,Lambda 會以最大 2 的速率串流您的回應MBps。如果您的函數回應一直都沒超過 6 MB,則永遠不會適用此頻寬限制。

注意

頻寬限制僅適用於函數的回應有效負載,不適用於函數的網路存取。

無頻寬上限的速率取決於諸多因素 (包括函數的處理速度)。MBps對於函數響應的前 6MB,您通常可以期望比 2 更高的速率。如果您的功能正在將回應串流至以外的目的地 AWS,串流速率也取決於外部網際網路連線的速度。