我的 Amazon Simple Storage Service(Amazon S3)事件通知没有调用我的 AWS Lambda 函数。或者说,在我尝试创建 Amazon S3 事件通知来调用我的 Lambda 函数时,我会收到错误消息。我能否使用 AWS Systems Manager Automation 来解决 Lambda 的 Amazon S3 事件通知问题?
简短描述
要解决向 Lambda 发送 Amazon S3 事件通知时出现的问题,请使用 AWSSupport-TroubleshootLambdaS3Event Systems Manager Automation 运行手册。
此运行手册会验证您输入的 Lambda 函数和 Amazon S3 桶参数值是否有事件配置。如果有事件配置,此运行手册将验证配置、资源策略和权限是否正确。此运行手册的输出将提供 AWS 命令行界面(AWS CLI)命令,让您可以添加所需的资源策略或权限。
**注意:**如果不再需要 Amazon S3 事件通知,最佳做法是将其删除。
解决方法
1. 打开 AWS Systems Manager 控制台。
2. 在导航窗格的变更管理下,选择自动化。
3. 选择执行自动化。
4. 在由 Amazon 所有选项卡的自动化文档搜索框中,输入并搜索 AWSSupport-TroubleshootLambdaS3Event。
5. 选中 AWSSupport-TroubleshootLambdaS3Event 卡右上角的复选框。然后,选择下一步。
6. 在输入参数部分,执行以下操作:
对于 AutomationAssumeRole,输入运行手册的 AWS Identity and Access Management(IAM)角色,该角色假设包括 lambda:GetPolicy 和 s3:GetBucketNotification 权限。
对于 LambdaFunctionArn,输入 Lambda 函数的 Amazon 资源名称(ARN)。
对于 S3BucketName,输入 Amazon S3 桶的名称。
7. 选择执行。
**注意:**如果输出建议验证和配置您的 Lambda 函数并发,请参阅异步调用和 AWS Lambda 函数扩展。
相关信息
为什么我的 Amazon S3 事件通知没有调用我的 Lambda 函数?
在创建 Amazon S3 事件通知来调用我的 Lambda 函数时,为什么会出现“无法验证以下目标配置”错误?