本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用來自其他服務的事件叫用 Lambda AWS
某些 AWS 服務可以使用 觸發程序 直接叫用 Lambda 函數。這些服務會將事件推送至 Lambda,並在發生指定事件時立即叫用 函數。觸發條件適用於離散事件和即時處理。當您使用 Lambda 主控台 建立觸發條件時,主控台會與對應的 AWS 服務互動,以設定該服務上的事件通知。觸發程序實際上是由產生事件的服務儲存和管理,而不是由 Lambda 儲存和管理。
這些事件是以 JSON 格式建構的資料。JSON 結構會因產生的服務與事件類型而有所不同,但都包含函數處理事件所需的資料。
函數可以有多個觸發條件。每個觸發條件皆做為獨立調用函數的用戶端,而 Lambda 傳遞給函數的每個事件只會包含來自一個觸發條件的資料。Lambda 將事件文件轉換為物件並將其傳遞給您的函數處理常式。
-
對於同步調用,產生事件的服務會等待來自您的函數回應。該服務定義函數需要在回應中傳回的資料。服務控制項錯誤策略,例如發生錯誤時是否重試。
-
對於非同步調用,Lambda 會先將事件排入佇列,再將事件傳送至您的函數。當 Lambda 將事件排入佇列時,它會立即向產生事件的服務傳送成功回應。在函數處理事件後,Lambda 不會向事件產生服務傳回回應。
建立觸發程序
建立觸發程序的最簡單方法是使用 Lambda 主控台。當您使用主控台建立觸發條件時,Lambda 會自動將所需的許可新增至函數的資源型政策 。
使用 Lambda 主控台建立觸發程序
-
開啟 Lambda 主控台中的函數頁面
。 -
選取您要為其建立觸發程序的函數。
-
在函數概觀窗格中,選擇新增觸發條件。
-
選取您要叫用函數 AWS 的服務。
-
填寫觸發組態窗格中的選項,然後選擇新增 。取決於 AWS 服務 您選擇調用函數的 ,觸發組態選項會有所不同。
可叫用 Lambda 函數的服務
下表列出可叫用 Lambda 函數的服務。
服務 | 調用的方法 |
---|---|
事件驅動;同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;同步調用 |
|
特殊整合 |
|
事件驅動;同步調用 |
|
事件驅動;非同步調用 (事件匯流排)、同步或非同步調用 (管道和排程) |
|
事件驅動;非同步調用 |
|
事件驅動;同步調用 |
|
事件驅動;同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;非同步調用 |
|
事件驅動;同步調用 |
|
特殊整合 |
|
事件驅動;同步或非同步調用 |
|
事件驅動;同步調用 |
|
特殊整合 |