如何在正则表达式上匹配CloudWatch事件。我只需要在特定作业名称上调用特定的SNS目标。例如,如下所示,我想在TranscriptionJobName上进行正则表达式匹配。谢谢。
{
"source": [
"aws.transcribe"
],
"detail-type": [
"Transcribe Job State Change"
],
"detail": {
"TranscriptionJobStatus": [
"COMPLETED",
"FAILED"
],
"TranscriptionJobName": [
"transcription-localhost-*"
]
}
}
答案 0 :(得分:0)
我最终为每个目标SNS主题创建了单独的规则。
答案 1 :(得分:0)
鉴于以下AWS文档,我也试图解决此问题,但看来这是不可能的。
https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html
记住有关事件模式的以下内容很重要 匹配:
为使模式与事件匹配,该事件必须包含模式中列出的所有字段名称。字段名称必须出现在 具有相同嵌套结构的事件。
模式中未提及的事件的其他字段将被忽略;有效地,对于未提及的字段,有一个“ ”:“ ”通配符。
匹配是精确的(逐个字符),没有大小写折叠或任何其他字符串归一化。
匹配的值遵循JSON规则:用引号,数字和不带引号的关键字true,false和null括起来的字符串。
数字匹配在字符串表示形式级别。例如,300、300.0和3.0e2被认为不相等。
笨蛋...
答案 2 :(得分:0)
现在可以通过EventBridge及其ability to do prefix matching来实现。这对我有用。我已将Lambda函数设置为目标,并且仅在Transcribe作业达到COMPLETED
状态且作业名称以voicemail-
开头时执行该功能。
{
"source": [
"aws.transcribe"
],
"detail": {
"TranscriptionJobName": [
{
"prefix": "voicemail-"
}
],
"TranscriptionJobStatus": [
"COMPLETED"
]
}
}