管道中 AWS lambda 函数的输入
Inputs to AWS lambda functions in a pipeline
我是 AWS 的新手,我正在尝试使用其服务设置测试环境,如下所示:
我设置了一个管道(使用 AWS 代码管道),每次新推送到我的在线存储库(AWS 代码提交)时都会触发该管道。
然后,我使用 AWS 代码构建对我的项目进行 运行 单元测试(在 python 中)。我可以使用 AWS Cloud watch 查看测试结果(在 AWS 代码构建服务的输出日志中)。
之后,我想设置一个 lambda 函数来解析日志并生成单元测试结果的摘要,以通过 AWS SES 发送到我的电子邮件。
不幸的是,我不明白如何将 AWS 代码构建输出日志作为输入传输到 lambda 函数。我只能使用 lambda 函数中定义的默认 "event" 结构,它在每次构建代码后触发,并解析其部分数据(我设法将日志保存在 S3 中,但我不知道我是否以及如何使用它们)。
此外,我想根据将推送提交到存储库的用户将测试摘要发送到特定的电子邮件。
我如何获取提交推送的用户信息并将其插入,例如,一个 lambda 函数,该函数将识别用户并将测试摘要发送到其电子邮件?有没有更简单的方法来构建我的测试环境?
提前致谢!
您可以配置 AWS Codebuild 作业以将日志发送到 S3 存储桶,如下面的代码片段所示
从那里您可以配置您的 S3 Events Notification 并将您的 lambda 挂接到它。
据我阅读文档,有三种代码提交身份验证方法,只有一种方法提供了相关解决方案来通过会话标签获取代码提交者的电子邮件地址。
- HTTPs(Git 凭据 IAM 用户没有电子邮件地址)
- SSH(同样没有电子邮件地址)
- HTTPS Git Remote Commit
因此您还剩下 Authorization based on CodeCommit tags,推荐给
If you want to connect to CodeCommit using a root account, federated access, or temporary credentials, you should set up access using git-remote-codecommit
你需要把这里的部分连接起来Monitoring CodeCommit events in Amazon EventBridge and Amazon CloudWatch Events
因为一旦代码提交的事件被信息触发(假设您使用的是 GRC),您需要等待代码构建作业完成,这会将您的作业日志放入 s3,最终您的 lambda 得到触发。
我会用 AWS Step Function Parallel Workflow for this where the event from the codecommit triggers the lambda and then Step function Code Build works 为我完成剩下的工作。但这只是一个选择,您也可以通过 lambda 处理集成。
我是 AWS 的新手,我正在尝试使用其服务设置测试环境,如下所示:
我设置了一个管道(使用 AWS 代码管道),每次新推送到我的在线存储库(AWS 代码提交)时都会触发该管道。
然后,我使用 AWS 代码构建对我的项目进行 运行 单元测试(在 python 中)。我可以使用 AWS Cloud watch 查看测试结果(在 AWS 代码构建服务的输出日志中)。
之后,我想设置一个 lambda 函数来解析日志并生成单元测试结果的摘要,以通过 AWS SES 发送到我的电子邮件。
不幸的是,我不明白如何将 AWS 代码构建输出日志作为输入传输到 lambda 函数。我只能使用 lambda 函数中定义的默认 "event" 结构,它在每次构建代码后触发,并解析其部分数据(我设法将日志保存在 S3 中,但我不知道我是否以及如何使用它们)。
此外,我想根据将推送提交到存储库的用户将测试摘要发送到特定的电子邮件。 我如何获取提交推送的用户信息并将其插入,例如,一个 lambda 函数,该函数将识别用户并将测试摘要发送到其电子邮件?有没有更简单的方法来构建我的测试环境?
提前致谢!
您可以配置 AWS Codebuild 作业以将日志发送到 S3 存储桶,如下面的代码片段所示
从那里您可以配置您的 S3 Events Notification 并将您的 lambda 挂接到它。
据我阅读文档,有三种代码提交身份验证方法,只有一种方法提供了相关解决方案来通过会话标签获取代码提交者的电子邮件地址。
- HTTPs(Git 凭据 IAM 用户没有电子邮件地址)
- SSH(同样没有电子邮件地址)
- HTTPS Git Remote Commit
因此您还剩下 Authorization based on CodeCommit tags,推荐给
If you want to connect to CodeCommit using a root account, federated access, or temporary credentials, you should set up access using git-remote-codecommit
你需要把这里的部分连接起来Monitoring CodeCommit events in Amazon EventBridge and Amazon CloudWatch Events
因为一旦代码提交的事件被信息触发(假设您使用的是 GRC),您需要等待代码构建作业完成,这会将您的作业日志放入 s3,最终您的 lambda 得到触发。
我会用 AWS Step Function Parallel Workflow for this where the event from the codecommit triggers the lambda and then Step function Code Build works 为我完成剩下的工作。但这只是一个选择,您也可以通过 lambda 处理集成。