New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
我尝试创建 Amazon Simple Storage Service(Amazon S3)存储桶事件通知来触发我的 AWS Lambda 函数,但收到了一个错误。
当通知的事件信息及其前缀或后缀与 S3 存储桶的通知配置重叠时,将发生“Configuration is ambiguously defined error”错误。
当您执行以下操作之一时,可能会发生错误:
**注意:**Amazon S3 事件通知配置允许具有非重叠前缀或后缀的重叠事件。这些配置还允许具有重叠前缀或后缀的非重叠事件。
有关更多信息,请参阅使用对象键名筛选配置事件通知。
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
要查看当前 S3 存储桶的通知配置,请执行以下任一操作:
然后,请执行以下操作之一:
在 Amazon S3 控制台中,删除与您尝试创建的新事件通知重叠的现有事件通知。
**注意:**当您删除 Lambda 函数触发器时,不会自动删除关联的 S3 事件通知。在创建没有后缀限制的新触发器之前,您还必须删除 Amazon S3 中的通知。
-或-
使用 AWS CLI 更新您的 S3 存储桶上的通知配置 JSON 文件。要获取在 S3 存储桶上配置的所有事件通知的列表,请运行 AWS CLI 命令 get-bucket-notification-configuration。要删除所有 S3 事件通知,请运行 AWS CLI 命令 put-bucket-notification-configuration,如下所示:
**注意:**将 bucket-name 替换为您的存储桶名称。
aws s3api put-bucket-notification-configuration --bucket=<bucket-name> --notification-configuration="{}"
删除重叠事件通知后,您可以使用 Amazon S3 控制台或 AWS CLI 命令 put-bucket-notification-configuration 添加新通知。
更改您的 S3 存储桶命名空间的对象键命名方式,以允许具有非重叠前缀的多个重叠事件。
例如,要指定重叠的事件对象(例如,上传的图像),请根据图像文件类型(后缀)使用不同的 S3 存储桶文件夹(前缀):
如果您无法重新配置您的 S3 事件通知来避免重叠,请尝试重新设计您的架构来进行解决。
例如:
**提示:**对于更复杂的架构和流程,使用 AWS Step Functions 状态机来设计和管理您的工作流程。有关更多信息,请参阅 AWS Step Functions 应用场景和 Tutorials for Step Functions。
Why do I get the error "Unable to validate the following destination configurations" when creating an Amazon S3 event notification to invoke my Lambda function?
Why doesn't my Amazon S3 event notification invoke my Lambda function?
Using AWS Lambda with Amazon S3
Tutorial: Using an Amazon S3 trigger to invoke a Lambda function