其他 Lambda 功能 - AWS Lambda

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

其他 Lambda 功能

Lambda 提供管理主控台和 API,用於管理和叫用函數。它提供支援標準功能集的執行時間,讓您可以根據自己的需求輕鬆切換語言和架構。除了函數之外,您也可以建立版本、別名、Layer 和自訂執行時間。

擴展

Lambda 管理執行程式碼的基礎設施,並自動擴展以回應傳入的請求。當函數被叫用的速度比函數單一執行個體處理事件的速度還要快時,Lambda 會透過執行其他執行個體進行擴展。當流量減小時,非作用中的執行個體會予以凍結或停止。您只需要依照函數初始化或處理事件所使用的時間來支付費用。

如需詳細資訊,請參閱 Lambda 函數擴展

並行控制項

使用並行設定以確保您的生產應用程式具有高可用性和高回應性。

若要防止函數使用太多並行,並為函數保留一部分帳戶的可用並行,請使用「預留並行」。保留的並行會將可用的並行集區分割成子集。具有預留並行的函數僅使用來自其專用子集的並行。

若要讓函數能在不受到延遲影響的情況下擴展,請使用「佈建並行」。對於初始化耗時很長時間的函數,或所有叫用都要求極低延遲的函數,並行可讓您預先初始化函數執行個體,並使其隨時保持執行狀態。Lambda 與 Application Auto Scaling 整合,以根據使用率支援佈建並行的自動擴展。

如需詳細資訊,請參閱 設定預留並行

函數 URL

Lambda 透過函數 URL 提供內建的 HTTP(S) 端點支援。藉由函數 URL,您可以為 Lambda 函數指派專用的 HTTP 端點。設定函數 URL 後,您就可以透過 Web 瀏覽器、curl、Postman 或任何 HTTP 用戶端,使用該 URL 呼叫您的函數。

您可以為現有的函數新增函數 URL,或使用函數 URL 建立新函數。如需詳細資訊,請參閱 呼叫 Lambda 函數 URL

非同步調用

當您調用函式時,您可以選擇以同步或非同步方式進行調用。使用同步調用,您會等待函式處理事件並傳回回應。使用非同步叫用,Lambda 會將事件排入佇列以進行處理,並立即傳回回應。


        Lambda 會先將非同步呼叫事件排入佇列,再將事件傳送到函數。

對於非同步叫用,如果函數傳回錯誤或被調節,則 Lambda 會處理重試。若要自訂此行為,您可以在函數、版本或別名上設定錯誤處理設定。您也可以設定 Lambda,將處理失敗的事件傳送至無效字母佇列,或將任何叫用的記錄傳送至目的地

如需詳細資訊,請參閱 非同步調用

事件來源映射

若要處理串流或佇列中的項目,您可以建立事件來源映射。事件來源映射是 Lambda 中的一種資源,它可讀取 Amazon Simple Queue Service (Amazon SQS) 佇列、Amazon Kinesis 串流或 Amazon DynamoDB 串流中的項目,並將它們分批傳送到您的函數。您的函式處理的每個事件可以包含數百個或數千個項目。


        來自 Kinesis 串流的事件來源映射讀取記錄。

事件來源映射會維護未處理項目的本機佇列,並在函數傳回錯誤或進行節流處理時,處理重試。您可以設定事件來源映射,以自訂批次行為和錯誤處理,或將處理失敗的項目記錄傳送至目的地。

如需詳細資訊,請參閱 Lambda 事件來源映射

目的地

目的地是接收函數叫用記錄的 AWS 資源。對於非同步叫用,您可以設定 Lambda 以將呼叫記錄傳送到佇列、主題、函數或事件匯流排。您可以為成功叫用和處理失敗的事件設定不同的目的地。叫用記錄包含事件、函數回應以及記錄傳送原因的詳細資訊。


        視結果而定,Lambda 會將呼叫記錄傳送至佇列或事件匯流排目的地。

對於從串流中讀取的事件來源映射,您可以設定 Lambda,將處理失敗的批次記錄傳送至佇列或主題。事件來源映射的失敗記錄包含關於批次的中繼資料,並指向串流中的項目。

如需詳細資訊,請參閱 設定非同步調用的目的地,以及 AWS Lambda 與 Amazon DynamoDB 使用使 AWS Lambda 用 Amazon Kinesis 的錯誤處理章節。

函數藍圖

在 Lambda 主控台中建立函數時,可以選擇從頭開始、使用藍圖,或是使用容器映像。藍圖提供範本程式碼,顯示如何將 Lambda 與 AWS 服務或熱門第三方應用程式搭配使用。藍圖包含適用於 Node.js 和 Python 執行時間的範本程式碼和函數組態集。

依據 Amazon 軟體授權提供藍圖以供使用。它們只能在 Lambda 主控台中使用。

測試和部署工具

Lambda 支援按原樣部署程式碼,或作為容器映像部署。您可以使用 AWS 和熱門的社群工具,例如 Docker 命令列界面 (CLI),來撰寫、建置和部署您的 Lambda 函數。若要設定 Docker CLI,請參閱 Docker Docs 網站上的取得 Docker。有關搭配使用 Docker 與 AWS 的簡介,請參閱 Amazon Elastic Container Registry 使用者指南中的 Amazon ECR 與 AWS CLI 搭配使用入門

AWS CLIAWS SAM CLI 為命令列工具,可管理 Lambda 應用程式堆疊。除了使用 AWS CloudFormation API 來管理應用程式堆疊的命令之外,AWS CLI 支援更高層級的命令以簡化工作,例如上傳部署套件和更新範本。AWS SAM CLI 提供額外的功能,包括驗證範本、進行本機測試,以及與 CI/CD 系統整合。

應用程式範本

您可以使用 Lambda 主控台建立具有持續交付管道的應用程式。Lambda 主控台中的應用程式範本包括一個或多個函數的程式碼、定義函數和支援 AWS 資源的應用程式範本,以及定義 AWS CodePipeline 管道的基礎設施範本。管道具有建置和部署階段,其會在您每次推送變更至包含的 Git 儲存庫時執行。

應用程式範本會依據 MIT No Attribution 授權提供。它們只能在 Lambda 主控台中使用。

如需更多詳細資訊,請參閱 在 Lambda 主控台中建立具有持續交付的應用程式