如何在AWS eventbridge eventpattern中的anything-but子句中使用多个前缀?

Viv*_*Viv 4 amazon-web-services amazon-cloudwatch serverless amazon-cloudwatch-events aws-event-bridge

我遇到一种情况,需要使用 eventbridge 中的 eventpatterns 过滤掉某些事件。我想对所有事件运行规则,除了用户名以 abc 或 xyz 开头的事件。我尝试过以下 2 种语法,但没有一个有效:

"userIdentity": {
      "sessionContext": {
        "sessionIssuer": {
          "userName": [
            {
              "anything-but": {
                "prefix": [
                  "abc-",
                  "xyz-"
                ]
              }
            }
          ]
        }
      }
    }

"userIdentity": {
      "sessionContext": {
        "sessionIssuer": {
          "userName": [
            {
              "anything-but": [{
                "prefix": "abc-",
                "prefix": "xyz-"
              }]
            }
          ]
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

保存规则时出现以下错误:“事件模式无效。原因:在除列表之外的任何内容中,不支持 start|null|boolean。

我是否在语法中遗漏了某些内容,或者如果这是一个限制,那么这个问题还有其他选择吗?

seo*_*k_7 7

您可以在事件模式的数组中使用前缀。这是一个示例模式:

{
      "detail": {
        "alarmName": [{
            "prefix": "DemoApp1"
          },
          {
            "prefix": "DemoApp2"
          }
        ],
        "state": {
          "value": [
            "ALARM"
          ]
        },
        "previousState": {
          "value": [
            "OK"
          ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此事件将匹配名称以DemoApp1DemoApp2开头的警报