本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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
值。