搭配其他服務使用 AWS Lambda - AWS Lambda

搭配其他服務使用 AWS Lambda

AWS Lambda 會與其他 AWS 服務整合,以叫用函數或操作其他動作。這些是一些常見的使用案例:

根據您搭配 Lambda 使用的服務,叫用通常會以兩種方式之一運作。事件會驅動叫用或 Lambda 輪詢佇列或資料串流,並叫用函數以回應佇列或資料串流中的活動。Lambda 以不涉及叫用函數的方式與 Amazon Elastic File System 和 AWS X-Ray 整合。

如需詳細資訊,請參閱 事件驅動叫用Lambda 輪詢。或者,在下一節中查詢要使用的服務,以找到相關將該服務與 Lambda 搭配使用的資訊的連結。

在下列資料表中尋找您想要使用的服務,以確定您應該使用的叫用方法。請前往服務名稱的連結,尋找有關如何設定服務之間整合的資訊。這些主題也包含您可用來測試函數的範例事件。

提示

此資料表中的項目依服務名稱的字母順序排列,但不包括「Amazon」或「AWS」字首。您也可以使用瀏覽器的搜尋功能,在清單中尋找您的服務。

服務 叫用的方法

Amazon Alexa

事件驅動;同步叫用

Amazon Managed Streaming for Apache Kafka

Lambda 輪詢

自我管理的 Apache Kafka

Lambda 輪詢

Amazon API Gateway

事件驅動;同步叫用

AWS CloudFormation

事件驅動;非同步叫用

Amazon CloudFront (Lambda@Edge)

事件驅動;同步叫用

Amazon EventBridge (CloudWatch Events)

事件驅動;非同步叫用

Amazon CloudWatch Logs

事件驅動;非同步叫用

AWS CodeCommit

事件驅動;非同步叫用

AWS CodePipeline

事件驅動;非同步叫用

Amazon Cognito

事件驅動;同步叫用

AWS Config

事件驅動;非同步叫用

Amazon Connect

事件驅動;同步叫用

Amazon DynamoDB

Lambda 輪詢

Amazon Elastic File System

特殊整合

Elastic Load Balancing (Application Load Balancer)

事件驅動;同步叫用

AWS IoT

事件驅動;非同步叫用

AWS IoT 事件

事件驅動;非同步叫用

Amazon Kinesis

Lambda 輪詢

Amazon Kinesis Data Firehose

事件驅動;同步叫用

Amazon Lex

事件驅動;同步叫用

Amazon MQ

Lambda 輪詢

Amazon Simple Email Service

事件驅動;非同步叫用

Amazon Simple Notification Service

事件驅動;非同步叫用

Amazon Simple Queue Service

Lambda 輪詢

Amazon Simple Storage Service (Amazon S3)

事件驅動;非同步叫用

Amazon Simple Storage Service 批次

事件驅動;同步叫用

Secrets Manager

事件驅動;同步叫用

AWS X-Ray

特殊整合

事件驅動叫用

某些服務會產生可以叫用 Lambda 函數的事件。如需設計這些架構類型的詳細資訊,請參閱 Lambda 操作員指南中的事件驅動架構

當您實作事件驅動的架構時,您可以授與事件產生服務許可,以在函數的資源型政策中叫用函數。然後配置該服務以產生叫用函數的事件。

事件是以 JSON 格式構建的資料。JSON 結構因產生它的服務和事件類型而異,但它們都包含函數處理事件所需的資料。

Lambda 將事件文件轉換為物件並將其傳遞給您的函數處理常式。對於已編譯的語言,Lambda 會為程式庫中的事件類型提供定義。如需詳細資訊,請參閱使用您語言建置函數的主題:使用 C# 建置 Lambda 函數使用 Go 建置 Lambda 函數使用 Java 建置 Lambda 函數使用 PowerShell 建置 Lambda 函數

視服務而定,事件驅動叫用可以是同步或非同步。

  • 對於同步叫用,產生事件的服務會等待來自您的函數回應。該服務定義函數需要在回應中傳回的資料。服務控制錯誤策略,例如發生錯誤時是否重試。如需更多詳細資訊,請參閱 同步叫用

  • 對於非同步叫用,Lambda 會先將事件排入佇列,再將事件傳送至您的函數。當 Lambda 將事件排入佇列時,它會立即向產生事件的服務傳送成功回應。在函數處理事件後,Lambda 不會向事件產生服務傳回回應。如需更多詳細資訊,請參閱 非同步叫用

如需 Lambda 如何管理同步和非同步叫用函數的錯誤處理的詳細資訊,請參閱 AWS Lambda 中錯誤處理和自動重試

Lambda 輪詢

對於產生佇列或資料串流的服務,您在 Lambda 中設定事件來源映射以讓 Lambda 輪詢佇列或資料串流。

當您實作 Lambda 輪詢架構時,您會授予 Lambda 存取函數執行角色中的其他服務的許可。Lambda 會從其他服務中讀取資料、建立事件並叫用您的函數。