事件模式 事件模式是事件总线EventBridge用来过滤相关事件的模式定义。事件总线EventBridge通过事件模式过滤事件并将事件路由到事件目标,事件模式必须和匹配的事件具有相同的结构。本文介绍事件模式的常用类型。 注意事项 事件模式匹配的注意点如下: 事件必须包含事件模式中列出的所有字段名对应的过滤项。 事件模式是逐个字符精确匹配的 ,需注意大小写,匹配过程中不会对字符串进行任何标准化的操作。 事件模式匹配中,JSON对象的各个属性支持AND 语义,数组中的各元素支持OR语义。 事件模式当前匹配仅支持根据事件的属性进行过滤,暂不支持data数据过滤。 创建事件模式时,某一字段下的匹配字段需符合一定的规则,详见下文。 指定值匹配 您可以指定某个字段的值进行匹配。 例如,以下示例事件模式只匹配source是分布式消息服务Kafka的事件。下表介绍事件从事件源发出经过事件模式过滤的过程。 从事件源接收的事件 事件模式 模式过滤后的事件 plaintext { "id": "f36b49b668914b59b11cbf689xxxx712", "source": "ctyun:kafka", "type": "ctyun:kafka:Topic:Message", "specversion": "1.0", "datacontentype": "application/json; charsetutf8", "subject": "ctyun:kafka:75dcxx1eb5:topic:source1", "time": "20241203T09:48:00.696Z", "data": { "key": "test2", "value": "test1" } } plaintext { "source": [ { "exact" : "ctyun:kafka" } ] } plaintext { "id": "f36b49b668914b59b11cbf689xxxx712", "source": "ctyun:kafka", "type": "ctyun:kafka:Topic:Message", "specversion": "1.0", "datacontentype": "application/json; charsetutf8", "subject": "ctyun:kafka:75dcxx1eb5:topic:source1", "time": "20241203T09:48:00.696Z", "data": { "key": "test2", "value": "test1" } }