

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理 AWS CodeCommit 儲存庫的觸發
<a name="how-to-notify"></a>

您可以設定 CodeCommit 儲存庫，讓程式碼推送或其他事件觸發動作，例如從 Amazon Simple Notification Service (Amazon SNS) 傳送通知或叫用函數 AWS Lambda。您可以為每個 CodeCommit 儲存庫建立最多 10 個觸發。

設定觸發通常基於下列原因：
+ 每當有資料推送到儲存庫時，即傳送電子郵件給訂閱使用者。
+ 當有資料推送到儲存庫的主要分支後，便通知外部建置系統以開始建置。

通知外部建置系統之類的案例需要撰寫 Lambda 函數才能與其他應用程式互動。電子郵件案例只需要建立 Amazon SNS 主題。

本主題說明如何設定允許 CodeCommit 在 Amazon SNS 和 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>

您可以在 CodeCommit 中將 Amazon SNS 主題和 Lambda 函數與觸發程序整合，但您必須先使用授予 CodeCommit 與這些資源互動許可的政策來建立和設定資源。您必須在 AWS 區域 與 CodeCommit 儲存庫相同的 中建立資源。例如，如果儲存庫位於美國東部 （俄亥俄） (us-east-2)，Amazon SNS 主題或 Lambda 函數必須位於美國東部 （俄亥俄）。
+ 對於 Amazon SNS 主題，如果使用與 CodeCommit 儲存庫相同的帳戶建立 Amazon SNS 主題，則不需要設定其他 IAM 政策或許可。您可以在建立並訂閱 Amazon SNS 主題後立即建立 CodeCommit 觸發程序。
  + 如需在 Amazon SNS 中建立主題的詳細資訊，請參閱 [Amazon SNS 文件](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html)。
  + 如需有關使用 Amazon SNS 傳送訊息至 Amazon SQS 佇列的資訊，請參閱《Amazon *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 主控台中建立的觸發會自動包含 CodeCommit 叫用 Lambda 函數所需的許可。如果您在 CodeCommit 中建立觸發，則必須包含允許 CodeCommit 叫用函數的政策。如需詳細資訊，請參閱[為現有的 Lambda 函數建立觸發](how-to-notify-lambda-cc.md)。