管理 AWS CodeCommit 儲存庫的觸發 - AWS CodeCommit

AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解」

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

管理 AWS CodeCommit 儲存庫的觸發

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

設定觸發通常基於下列原因:

  • 每當有資料推送到儲存庫時,即傳送電子郵件給訂閱使用者。

  • 當有資料推送到儲存庫的主要分支後,便通知外部建置系統以開始建置。

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

本主題說明如何設定允許 CodeCommit 在 Amazon SNS 和 Lambda 中觸發動作的許可。其中也包含用於建立、編輯、測試和刪除觸發的範例連結。

建立資源並新增 CodeCommit 的許可

您可以在 CodeCommit 中將 Amazon SNS 主題和 Lambda 函數與觸發程序整合,但您必須先使用授予 CodeCommit 與這些資源互動許可的政策來建立和設定資源。您必須在與 CodeCommit 儲存庫 AWS 區域 相同的 中建立資源。例如,如果儲存庫位於美國東部 (俄亥俄) (us-east-2),Amazon SNS 主題或 Lambda 函數必須位於美國東部 (俄亥俄)。

  • 對於 Amazon SNS 主題,如果使用與 CodeCommit 儲存庫相同的帳戶建立 Amazon SNS 主題,則不需要設定其他 IAM 政策或許可。您可以在建立並訂閱 Amazon SNS 主題後立即建立 CodeCommit 觸發程序。

  • 如果您想要將觸發條件設定為在其他 AWS 帳戶中使用 Amazon SNS 主題,您必須先使用允許 CodeCommit 發佈至該主題的政策來設定該主題。如需詳細資訊,請參閱範例 1:建立啟用跨帳戶存取 Amazon SNS 主題的政策

  • 您可以透過在 Lambda 主控台中建立觸發做為函數的一部分來設定 Lambda 函數。這是最簡單的方法,因為在 Lambda 主控台中建立的觸發會自動包含 CodeCommit 叫用 Lambda 函數所需的許可。如果您在 CodeCommit 中建立觸發條件,則必須包含允許 CodeCommit 叫用函數的政策。如需詳細資訊,請參閱 為現有的 Lambda 函數建立觸發範例 3:建立與 CodeCommit 觸發程序 AWS Lambda 整合的政策