如何解決使用系統管理員自動化,利用 Amazon S3 事件通知,叫用 Lambda 函數的問題?

1 分的閱讀內容
0

我的 Amazon Simple Storage Service (Amazon S3) 事件通知不會叫用我的 AWS Lambda 函數。或者,我嘗試建立 Amazon S3 事件通知以叫用我的 Lambda 函數時,收到錯誤訊息。我可以使用 AWS Systems Manager Automation 以疑難排解 Lambda 的 Amazon S3 事件通知問題嗎?

簡短說明

要疑難排解傳送 Amazon S3 事件通知至 Lambda 時的問題,使用 AWSSupport-TroubleshootLambdaS3Event 系統管理員自動化執行手冊。

執行手冊會驗證您輸入的 Lambda 函數和 Amazon S3 儲存貯體參數值是否存在事件組態。如果事件配置存在,則執行手冊會驗證組態、資源政策和權限是否正確。執行手冊的輸出提供 AWS Command Line Interface (AWS CLI),可讓您新增所需的資源政策或權限。

**注意:**如果不再需要 Amazon S3 事件通知,最佳實務是刪除事件通知。

解決方法

1.    開啟 AWS Systems Manager 主控台

2.    在導覽窗格的 Change Management(變更管理)下,選擇Automation(自動化)。

3.    選擇 Execute automation(執行自動化)。

4.    在 Owned by Amazon (亞馬遜旗下) 標籤的 Automation document (自動化文件) 搜尋方塊中,輸入及搜尋 AWSSupport-TroubleshootLambdaS3Event

5.    選取 AWSSupport-TroubleshootLambdaS3Event 右上角的核取方塊。然後,選擇 Next(下一步)。

6.    在 Input parameters (輸入參數) 區段中執行以下操作:
針對 AutomationAssumeRole,為執行手冊輸入 AWS Identity and Access Management (IAM) 角色,以擔任包含 lambda:GetPolicys3:GetBucketNotification 權限的角色。
針對 LambdaFunctionArn,輸入 Lambda 函數的 Amazon Resource Name (ARN)
針對 S3BucketName,輸入 Amazon S3 儲存貯體的名稱。

7.    選擇 Execute(執行)。

**注意:**如果輸出建議驗證和設定 Lambda 函數並行操作,請參閱非同步叫用AWS Lambda 函數擴展

相關資訊

為什麼我的 Amazon S3 事件通知不叫用我的 Lambda 函數?

為什麼在建立 Amazon S3 事件通知以叫用我的 Lambda 函數時,收到「無法驗證下列目的地組態」錯誤?

AWS 官方
AWS 官方已更新 2 年前