AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Lambda 関数をトリガーする Amazon S3 イベント通知を作成する際に、「Configuration is ambiguously defined」エラーが表示されるのはなぜですか?

所要時間2分
0

AWS Lambda 関数をトリガーする Amazon Simple Storage Service (Amazon S3) バケットイベント通知の作成を試みていますが、エラーが発生しました。

簡単な説明

「Configuration is ambiguously defined error」というエラーは、通知のイベント情報とそのプレフィックスまたはサフィックスが S3 バケットの通知設定と重複している場合に発生します。

このエラーは、次のいずれかの操作を行っているときに発生することがあります。

  • 最近削除した S3 イベント通知を再作成する。
  • 重複するプレフィックスまたはサフィックスを使用して、重複する複数のイベントの S3 イベント通知を作成する。

注: 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://mybucket/uploadedJPEG
  • S3://mybucket/uploadedGIF

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

重複を避けるために S3 イベント通知を再設定できない場合は、アーキテクチャを再設計してみてください。

例:

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


関連情報

Amazon S3 イベント通知を作成するときに「Amazon S3 イベント通知を作成する際に、次の宛先の設定を検証できません」というエラーが表示されるのはなぜですか?

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

Using AWS Lambda with Amazon S3

Tutorial: Using an Amazon S3 trigger to invoke a Lambda function

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

関連するコンテンツ