本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理触发器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 SNS 文档.
有关使用 Amazon SNS 向 Amazon SQS 队列发送消息的信息,请参阅将消息发送至 Amazon SQS 队列中的Amazon SNS 开发人员指南.
-
有关使用 Amazon SNS 调用 Lambda 函数的信息,请参阅调用 Lambda 函数中的Amazon SNS 开发人员指南.
-
如果您希望配置触发器以在另一个中使用 Amazon SNS 主题:Amazon账户中,您必须先用允许的策略配置该主题。CodeCommit发布到该主题。有关更多信息,请参阅 示例 1:创建允许跨账户访问 Amazon SNS 主题的策略。
-
您可以通过在 Lambda 控制台中创建作为函数一部分的触发器来配置 Lambda 函数。这是最简单的方法,因为在 Lambda 控制台中创建的触发器自动包含以下所需的权限:CodeCommit来调用 Lambda 函数。如果在 CodeCommit 中创建触发器,则您必须包含允许 CodeCommit 调用该函数的策略。有关更多信息,请参阅 创建现有 Lambda 函数的触发器 和 示例 3:为创建策略Amazon Lambda与 CodeCommit 触发器集成。