為什麼在建立 Amazon S3 事件通知以觸發 Lambda 函數時收到 "Configuration is ambiguously defined" 錯誤?

2 分的閱讀內容
0

我嘗試建立 Amazon Simple Storage Service (Amazon S3) 儲存貯體事件通知,以觸發 AWS Lambda 函數,但收到錯誤。

簡短描述

當通知的事件資訊及其字首或字尾與 S3 儲存貯體的通知組態重疊時,就會發生 "Configuration is ambiguously defined error"。

當您執行下列其中一個操作時,可能會發生錯誤:

  • 重新建立您最近刪除的 S3 事件通知。
  • 使用重疊的字首或字尾為多個重疊事件建立 S3 事件通知。

**注意:**Amazon S3 事件通知組態允許具有非重疊字首或字尾的重疊事件。該組態還允許具有重疊前綴或後綴的非重疊事件。

如需詳細資訊和範例,請參閱使用物件金鑰名稱篩選設定事件通知

解決方法

**注意:**如果您在執行 AWS Command Line Interface (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://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 官方已更新 2 年前