本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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 值。
在 AWS CloudFormation 模板中使用空值
AWS CloudFormation 不允许在模板中使用null值。如果您使用 YAML 或 JSON 对象语法定义了具有空值的事件模式,则模板验证失败并显示错误:'null' values are not allowed in templates。
要解决此限制,请将该EventPattern属性指定为 JSON 字符串,而不是 YAML 或 JSON 对象。以下示例说明如何匹配 AWS CloudFormation 模板中的空值:
MyRule:
Type: AWS::Events::Rule
Properties:
EventPattern: '{"detail":{"responseElements":[null]}}'