6

我有一个触发 Jenkins 工作的 lambda 函数。我想在添加新的 ssm 参数时调用这个 lambda。我在 cloud-watch 事件模式中添加了以下自定义事件模式。

{
  "source": [
    "aws.ssm"
  ],
  "detail-type": [
    "Parameter Store Change",
    "Parameter Store Policy Action"
  ],
  "detail": {
      "name": [
          "/dev/*"
        ],
        "operation": [
          "Create",
          "Update",
          "Delete",
          "LabelParameterVersion"
  ]

}

}

这意味着,如果我创建一个以“/dev/anystring”开头的 ssm 参数,则需要触发 lambda 但是如果我提供通配符,则不会触发 lambda。对此有何建议。?

4

1 回答 1

10

在这种情况下,您希望使用前缀比较运算符根据detail.name字段中的值进行过滤。

{
  "source": [
    "aws.ssm"
  ],
  "detail-type": [
    "Parameter Store Change",
    "Parameter Store Policy Action"
  ],
  "detail": {
    "name": [ { "prefix": "/dev/" } ],
    "operation": [
      "Create",
      "Update",
      "Delete",
      "LabelParameterVersion"
    ]
  }
}

有关更多详细信息,请参阅在 Amazon EventBridge 中使用高级规则减少自定义代码,尤其是在自定义应用程序中过滤事件部分中的示例2.纽约市的所有 ATM

我代表我的雇主亚马逊做出了贡献。我的贡献是在 MIT 许可下获得许可的。有关更详细的说明,请参见此处。

于 2020-02-06T19:27:14.130 回答