Lambda 関数をトリガーする Amazon S3 イベント通知を作成するときに、「Configuration is ambiguously defined」(構成の定義があいまいです) というエラーが表示されるのはなぜですか?

所要時間2分
0

AWS Lambda 関数をトリガーする Amazon Simple Storage Service (Amazon S3) のバケットイベント通知を作成しようとしています。次のエラーが表示されるのはなぜですか?「Configuration is ambiguously defined.Cannot have overlapping suffixes in two rules if the prefixes are overlapping for the same event type. (構成の定義があいまいです、プレフィックスが同じイベントタイプで重複している場合、2 つのルールでサフィックスを重複させることはできません)"

簡単な説明

構成の定義があいまいですというエラーは、通知のイベント情報やそのプレフィックスまたはサフィックスに、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 bucket namespace] (S3 バケット名前空間) の [object key naming] (オブジェクトキーの名前指定) を変更し、プレフィックスが重複しない、複数の重複イベントを許可します。

たとえば、重複するイベントオブジェクト (アップロードされたイメージなど) を指定するためには、その (イメージ) ファイルの種類 (サフィックス) に応じて、異なる S3 バケットフォルダ (プレフィックス) を使用します。

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

ユースケースに合わせて再設計する

重複を避けるために S3 イベント通知を再設定できない場合は、問題を回避するために、アーキテクチャの再設計が必要です。

例:

ヒント : より複雑なアーキテクチャとプロセスについては、AWS Step Functions のステートマシンを使用して、ワークフローを設計および管理します。詳細については、「AWS Step Functions use cases」(AWS Step Functions のユースケース) と「Tutorials for Step Functions」(Step Functions のチュートリアル) を参照してください。


関連情報

Lambda 関数を呼び出す Amazon S3 イベント通知を作成するときに「Unable to validate the following destination configurations (以下の送信先設定を検証できません)」というエラーが表示されるのはなぜですか?

Amazon S3 イベント通知が Lambda 関数を呼び出さないのはなぜですか?

Amazon S3 での AWS Lambda の使用

チュートリアル: Amazon S3 トリガーを使用して Lambda 関数を呼び出す

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ