

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

# 管理 AWS CodeCommit 仓库的触发器
<a name="how-to-notify"></a>

您可以配置 CodeCommit 存储库，以便代码推送或其他事件触发操作，例如从亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 发送通知或在中调用函数。 AWS Lambda您最多可以为每个 CodeCommit 存储库创建 10 个触发器。

触发器通常配置为：
+ 有人向存储库推送内容时，向订阅用户发送电子邮件。
+ 有人向存储库的主分支推送内容后，通知外部构建系统启动构建。

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

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

**Topics**
+ [创建资源并添加权限 CodeCommit](#how-to-notify-permissions)
+ [示例：为 Amazon SNS 主题创建 AWS CodeCommit 触发器](how-to-notify-sns.md)
+ [示例：为 AWS Lambda 函数创建 AWS CodeCommit 触发器](how-to-notify-lambda.md)
+ [示例：在中 AWS CodeCommit 为现有 AWS Lambda 函数创建触发器](how-to-notify-lambda-cc.md)
+ [编辑 AWS CodeCommit 仓库的触发器](how-to-notify-edit.md)
+ [测试 AWS CodeCommit 仓库的触发器](how-to-notify-test.md)
+ [从 AWS CodeCommit 存储库中删除触发器](how-to-notify-delete.md)

## 创建资源并添加权限 CodeCommit
<a name="how-to-notify-permissions"></a>

您可以将 Amazon SNS 主题和 Lambda 函数与中的触发器集成 CodeCommit，但必须先创建资源，然后使用授予与这些资源交互 CodeCommit 的权限的策略配置资源。您必须在与 CodeCommit 存储库 AWS 区域 相同的位置创建资源。例如，如果存储库位于美国东部（俄亥俄州）(us-east-2)，则 Amazon SNS 主题或 Lambda 函数必须位于美国东部（俄亥俄州）。
+ 对于 Amazon SNS 主题，如果使用与存储库相同的账户创建 Amazon SNS 主题，则无需配置其他 IAM 策略或权限。 CodeCommit 您可以在创建并订阅 Amazon SNS 主题后立即创建 CodeCommit 触发器。
  + 有关在 Amazon SNS 中创建主题的更多信息，请参阅 [Amazon SNS 文档](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html)。
  + 有关使用 Amazon SNS 向 Amazon SQS 队列发送消息的信息，请参阅《Amazon SNS 开发人员指南》**中的[向 Amazon SQS 队列发送消息](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html)。
  + 有关使用 Amazon SNS 调用 Lambda 函数的信息，请参阅《Amazon SNS 开发人员指南》**中的[调用 Lambda 函数](https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html)。
+ 您可以通过在 Lambda 控制台中创建作为 Lambda 函数一部分的触发器来对该函数进行配置。这是最简单的方法，因为在 Lambda 控制台中创建的触发器会自动包含调用 Lambda 函数所需的 CodeCommit 权限。如果您在中创建触发器 CodeCommit，则必须包含 CodeCommit 允许调用该函数的策略。有关更多信息，请参阅 [为现有的 Lambda 函数创建触发器](how-to-notify-lambda-cc.md)。