AWS Cloudwatch 在动态标签上触发 Codepipeline

dat*_*ack 4 amazon-web-services amazon-cloudwatch aws-codecommit aws-codepipeline

我想用动态标签标记一个提交,例如git tag deploy-$(date +"%Y-%m-%d_%H-%M-%S"),然后从 cloudwatch 触发代码管道。问题是如果我使用以下 cloudwatch 事件模式:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Repository State Change"
  ],
  "resources": [
    "arn:aws:codecommit:region:XXX:someName"
  ],
  "detail": {
    "event": [
      "referenceCreated",
      "referenceUpdated"
    ],
    "repositoryName": [
      "someName"
    ],
    "referenceType": [
      "tag"
    ],
    "referenceName": [
      "deploy"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

它只会在特定标签上触发 - “部署”。有没有办法说出以(包含)deploy 关键字开头的任何标签?

Mar*_*cin 6

我正在查看带有事件模式文档的基于内容的过滤及其前缀匹配。文档中给出的示例是:

{
  "time": [ { "prefix": "2017-10-02" } ],
}
Run Code Online (Sandbox Code Playgroud)

根据示例,以下内容似乎适用于您的情况:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Repository State Change"
  ],
  "resources": [
    "arn:aws:codecommit:region:XXX:someName"
  ],
  "detail": {
    "event": [
      "referenceCreated",
      "referenceUpdated"
    ],
    "repositoryName": [
      "someName"
    ],
    "referenceType": [
      "tag"
    ],
    "referenceName": [
       { "prefix": "deploy" } ]
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)