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 觸發程序。
如需在 Amazon SNS 中建立主題的詳細資訊,請參閱 Amazon SNS 文件。
如需使用 Amazon SNS 傳送訊息至 Amazon SQS 佇列的資訊,請參閱《Amazon Amazon SNS開發人員指南》中的傳送訊息至 Amazon SQS 佇列。
-
如需有關使用 Amazon SNS 叫用 Lambda 函數的資訊,請參閱《Amazon SNS 開發人員指南》中的叫用 Lambda 函數。
-
如果您想要將觸發條件設定為在其他 AWS 帳戶中使用 Amazon SNS 主題,您必須先使用允許 CodeCommit 發佈至該主題的政策來設定該主題。如需詳細資訊,請參閱範例 1:建立啟用跨帳戶存取 Amazon SNS 主題的政策。
-
您可以透過在 Lambda 主控台中建立觸發做為函數的一部分來設定 Lambda 函數。這是最簡單的方法,因為在 Lambda 主控台中建立的觸發會自動包含 CodeCommit 叫用 Lambda 函數所需的許可。如果您在 CodeCommit 中建立觸發條件,則必須包含允許 CodeCommit 叫用函數的政策。如需詳細資訊,請參閱 為現有的 Lambda 函數建立觸發 和 範例 3:建立與 CodeCommit 觸發程序 AWS Lambda 整合的政策。