管理触发器Amazon CodeCommit知识库 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理触发器Amazon CodeCommit知识库

您可以配置CodeCommit以使代码推送或其他事件能够触发操作,例如从 Amazon Simple Notification Service (Amazon SNS) 发送通知或调用中的函数Amazon Lambda. 您可以为每个 CodeCommit 存储库创建多达 10 个触发器。

触发器通常配置为:

  • 有人向存储库推送内容时,向订阅用户发送电子邮件。

  • 有人向存储库的主分支推送内容后,通知外部构建系统启动构建。

对于通知外部构建系统等场景,需要编写 Lambda 函数来与其他应用程序交互。电子邮件场景只需创建 Amazon SNS 主题即可。

本主题介绍如何设置允许的权限。CodeCommit以触发 Amazon SNS 和 Lambda 中的操作。此外,它还包括创建、编辑、测试和删除触发器的示例的链接。

创建资源并添加权限CodeCommit

您可以将 Amazon SNS 主题和 Lambda 函数与中的触发器集成CodeCommit,但前提是必须先创建资源并为资源配置一个授予的策略。CodeCommit与这些资源进行交互的权限。您必须在同一中创建资源。Amazon Web Services 区域作为CodeCommit存储库。例如,如果存储库位于美国东部(俄亥俄)(us-east-2)中,Amazon SNS 主题或 Lambda 函数也必须位于美国东部(俄亥俄)中。

  • 对于 Amazon SNS 主题,如果 Amazon SNS 主题是使用创建的账户创建的,则您不必配置其他的 IAM 策略或权限。CodeCommit存储库。你可以创建CodeCommit只要您创建并订阅 Amazon SNS 主题,就触发器。

  • 如果您希望配置触发器以在另一个中使用 Amazon SNS 主题:Amazon账户中,您必须先用允许的策略配置该主题。CodeCommit发布到该主题。有关更多信息,请参阅 示例 1:创建允许跨账户访问 Amazon SNS 主题的策略

  • 您可以通过在 Lambda 控制台中创建作为函数一部分的触发器来配置 Lambda 函数。这是最简单的方法,因为在 Lambda 控制台中创建的触发器自动包含以下所需的权限:CodeCommit来调用 Lambda 函数。如果在 CodeCommit 中创建触发器,则您必须包含允许 CodeCommit 调用该函数的策略。有关更多信息,请参阅 创建现有 Lambda 函数的触发器示例 3:为创建策略Amazon Lambda与 CodeCommit 触发器集成