在 Amazon EventBridge 事件模式中匹配空值和空字符串 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon EventBridge 事件模式中匹配空值和空字符串

重要

在中 EventBridge,可以创建可能导致 higher-than-expected 收费和限制的规则。例如,您可能无意中创建了一条规则,导致无限循环,规则会以递归方式触发,不会结束。假设您创建了一条规则,来检测 S3 桶中的 ACL 更改,然后触发软件以将 ACL 更改为所需状态。如果编写该规则时不小心,则 ACL 的后续更改将再次触发该规则,从而产生无限循环。

有关如何编写精确的规则和事件模式,以最大限度地减少此类意外结果的指导,请参阅定义 Amazon EventBridge 规则的最佳实践定义 Amazon EventBridge 事件模式时的最佳实践

您可以创建一种事件模式,与事件中具有 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 值。