Amazon EventBridge イベントパターンでの Null 値や空の文字列とのマッチング - Amazon EventBridge

Amazon EventBridge イベントパターンでの Null 値や空の文字列とのマッチング

重要

EventBridge では、ルールが繰り返し開始される無限ループにつながるルールが作成される可能性があります。たとえば、S3 バケットで ACL が変更されたことを検出し、ソフトウェアをトリガーして ACL を目的の状態に変更するルールがあるとします。このルールが慎重に記述されていない場合は、その後 ACL を変更するとルールが再び開始され、無限ループが作成されます。

これを防ぐには、トリガーされたアクションが同じルールを再び開始しないようにルールを記述します。たとえば、変更された後ではなく、エラー状態にある ACL が見つかった場合にのみ、ルールが開始されるようにします。

無限ループにより、予想よりも高い料金がすぐに発生する可能性があります。指定した制限を料金が超えるとアラートで知らせる予算設定を使用することをお勧めします。詳細については、「予算によるコストの管理」を参照してください。

イベントのうち、Null 値や空の文字列を持つイベントフィールドと一致するイベントパターンを作成できます。次のイベントの例を考えます。

{ "version": "0", "id": "3e3c153a-8339-4e30-8c35-687ebef853fe", "detail-type": "EC2 Instance Launch Successful", "source": "aws.autoscaling", "account": "123456789012", "time": "2015-11-11T21:31:47Z", "region": "us-east-1", "resources": [ ], "detail": { "eventVersion": "", "responseElements": null } }

eventVersion の値が空の文字列であるイベントとマッチングするには、上のイベント例と一致する次のイベントパターンを使用します。

{ "detail": { "eventVersion": [""] } }

responseElements の値が Null であるイベントとマッチングするには、上のイベント例と一致する次のイベントパターンを使用します。

{ "detail": { "responseElements": [null] } }
注記

Null 値と空の文字列は、パターンマッチングで交換可能ではありません。空の文字列に一致するイベントパターンは、null の値に一致しません。