我的 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:GetPolicy 和 s3:GetBucketNotification 權限的角色。
針對 LambdaFunctionArn,輸入 Lambda 函數的 Amazon Resource Name (ARN)。
針對 S3BucketName,輸入 Amazon S3 儲存貯體的名稱。
7. 選擇 Execute(執行)。
**注意:**如果輸出建議驗證和設定 Lambda 函數並行操作,請參閱非同步叫用和 AWS Lambda 函數擴展。
相關資訊
為什麼我的 Amazon S3 事件通知不叫用我的 Lambda 函數?
為什麼在建立 Amazon S3 事件通知以叫用我的 Lambda 函數時,收到「無法驗證下列目的地組態」錯誤?