繁体   English   中英

AWS EventBridge 自定义事件模式

[英]AWS EventBridge customize event pattern

我想发送具有自定义值的事件模式,如下所示。

{
  "source": ["aws.ecr"],
  "detail-type": ["ECR Image Action"],
  "detail": {
    "action-type": ["PUSH", "DELETE"],
    "result": ["SUCCESS"],
    "git-repository-name": ["github-api-test"], <-- custom
    "file-path": ["bin/imgtag.json"]  <-- custom
  }
}

我想从 Lambda 中获取这些值并按如下方式使用它们。

const handler = async (event, context) => {
   const { detail } = event;
   const filePath = detail['file-path'];
   const gitRepoName = detail['git-repository-name'];
}

但是,如果您将自定义值(文件路径,git-repository-name)放入事件模式中,则该事件将不起作用。

请告诉我如何使用它。

我找到了这个答案。

首先,点击编辑规则

Select 目标 > 配置输入 > 输入变压器

填写如下。 $.detail是发生 ECR 事件时传入的数据之一。)

在此处输入图像描述

然后解析lambda function中的事件如下。

const handler = async (event, context) => {
    const data = JSON.parse(event);
    const gitRepoName = data['git-repository-name'];
    const filePath = data['file-path'];
    console.log(gitRepoName, filePath);
};

控制台日志 output

github-api-test, bin/imgtag.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM