创建触发 Lambda 函数的 Amazon S3 事件通知时,为什么会出现“Configuration is ambiguously defined(配置定义不明确)”错误?

2 分钟阅读
0

我尝试创建 Amazon Simple Storage Service (Amazon S3) 存储桶事件通知来触发我的 AWS Lambda 函数。为什么会收到“Configuration is ambiguously defined(配置定义不明确)”错误?如果相同事件类型的前缀重叠,则两个规则不能具有重叠的前缀。”?

简短描述

当通知的事件信息及其前缀或后缀与 S3 存储桶的通知配置重叠时,将发生配置的定义模棱两可错误。

当您执行以下操作之一时,可能会发生错误:

  • 重新创建您最近删除的 S3 事件通知。
  • 使用重叠的前缀或后缀为多个重叠事件创建 S3 事件通知。

**注意:**Amazon S3 事件通知配置允许具有非重叠前缀或后缀的重叠事件。这些配置还允许具有重叠前缀或后缀的非重叠事件。

有关更多信息和示例,请参阅使用对象键名称筛选配置事件通知

解决方法

**注意:**如果您在运行 AWS 命令行界面(AWS CLI)命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

执行以下任意一项操作:

然后执行下面的任意一项操作:

删除重叠的事件

Amazon S3 控制台中,删除与您尝试创建的新事件通知重叠的现有事件通知。

**注意:**删除 Lambda 函数触发器时,不会自动删除关联的 S3 事件通知。在创建没有后缀限制的新触发器之前,您还必须删除 Amazon S3 中的通知。

-或者-

通过运行 AWS CLI 命令 put-bucket-notification-configuration 更新您的 S3 存储桶上的通知配置 JSON 文件。

重新配置新通知

更改您的 S3 存储桶命名空间对象键命名方式,以允许具有非重叠前缀的多个重叠事件。

例如,要指定已上传图像等重叠事件对象,请使用不同的 S3 存储桶文件夹(前缀),具体取决于图像文件类型(后缀):

  • S3://mybucket/uploadedJPEG
  • S3://mybucket/uploadedGIF

针对您的使用案例重新设计

如果您无法重新配置您的 S3 事件通知来避免重叠,请尝试重新设计您的架构来进行解决。

例如:

**提示:**对于更加复杂的架构和过程,请使用 AWS Step Functions 状态机设计并管理您的工作流。有关更多信息,请参阅 AWS Step Functions 使用案例Step Functions 教程


相关信息

创建 Amazon S3 事件通知以调用 Lambda 函数时,为什么会出现“Unable to validate the following destination configurations”(无法验证以下目标配置)错误?

为什么我的 Amazon S3 事件通知不调用 Lambda 函数?

配合使用 AWS Lambda 和 Amazon S3

教程:使用 Amazon S3 触发器调用 Lambda 函数

相关视频

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