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
您可以在 中將 Amazon SNS主題和 Lambda 函數與觸發程序整合 CodeCommit,但您必須先使用授予與這些資源互動 CodeCommit 許可的政策來建立和設定資源。您必須在與 AWS 區域 CodeCommit 儲存庫相同的 中建立資源。例如,如果儲存庫位於美國東部 (俄亥俄) (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 SQS佇列。 SNS
-
如需使用 Amazon SNS叫用 Lambda 函數的資訊,請參閱 Amazon SNS開發人員指南 中的叫用 Lambda 函數。
-
如果您想要設定觸發條件以在其他 AWS 帳戶中使用 Amazon CodeCommit SNS主題,您必須先使用允許發佈至該主題的政策來設定該主題。如需詳細資訊,請參閱範例 1:建立啟用跨帳戶存取 Amazon SNS主題的政策。
-
您可以在 Lambda 主控台中建立觸發程序,以設定 Lambda 函數。這是最簡單的方法,因為在 Lambda 主控台中建立的觸發程序會自動包含 CodeCommit 叫用 Lambda 函數所需的許可。如果您在 中建立觸發程序 CodeCommit,則必須包含允許 CodeCommit 叫用函數的政策。如需詳細資訊,請參閱 為現有的 Lambda 函數建立觸發程序 和 範例 3:建立與 CodeCommit 觸發程序 AWS Lambda 整合的政策。