AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可繼續正常使用此服務。了解更多」
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 AWS CodeCommit 儲存庫的觸發器
您可以設定 CodeCommit 儲存庫,讓程式碼推送或其他事件觸發動作,例如從 Amazon 簡單通知服務 (AmazonSNS) 傳送通知,或叫用中的函數。 AWS Lambda您最多可以為每個 CodeCommit 儲存庫建立 10 個觸發器。
設定觸發通常基於下列原因:
-
每當有資料推送到儲存庫時,即傳送電子郵件給訂閱使用者。
-
當有資料推送到儲存庫的主要分支後,便通知外部建置系統以開始建置。
通知外部建置系統等案例需要撰寫 Lambda 函數,才能與其他應用程式互動。電子郵件方案只需要創建一個 Amazon SNS 主題。
本主題說明如何設定允許 CodeCommit 在 Amazon SNS 和 Lambda 中觸發動作的許可。其中也包含用於建立、編輯、測試和刪除觸發的範例連結。
主題
建立資源並新增權限 CodeCommit
您可以將 Amazon SNS 主題和 Lambda 函數與觸發器整合在中 CodeCommit,但必須先建立資源,然後使用政策授予 CodeCommit 與這些資源互動的權限來設定資源。您必須在與 CodeCommit 存放庫相同 AWS 區域 的資源中建立資源。例如,如果存放庫位於美國東部 (俄亥俄州) (us-east-2),則 Amazon SNS 主題或 Lambda 函數必須位於美國東部 (俄亥俄)。
-
對於 Amazon SNS 主題,如果 Amazon 主SNS題是使用與 CodeCommit 儲存庫相同的帳戶建立的,IAM則不需要設定其他政策或許可。您可以在建立並訂閱 Amazon SNS 主題後立即建立 CodeCommit 觸發器。
如需在 Amazon 中建立主題的詳細資訊SNS,請參閱 Amazon SNS 文件。
如需使用 Amazon SNS 將訊息傳送至 Amazon SQS 佇列的相關資訊,請參閱 Amazon SNS開發人員指南中的將訊息傳送至 Amazon SQS 佇列。
-
如需使用 Amazon SNS 叫用 Lambda 函數的相關資訊,請參閱 Amazon SNS 開發人員指南中的叫用 Lambda 函數。
-
如果您想要將觸發器設定為在其他 AWS 帳戶中使用 Amazon SNS 主題,則必須先使用允許發佈 CodeCommit 到該主題的政策來設定該主題。如需詳細資訊,請參閱 範例 1:建立允許跨帳戶存取 Amazon SNS 主題的政策。
-
您可以在 Lambda 主控台中建立觸發器來設定 Lambda 函數,做為函數的一部分。這是最簡單的方法,因為在 Lambda 主控台中建立的觸發程序會自動包含叫用 Lambda 函數所需的權限。 CodeCommit 如果您在中建立觸發器 CodeCommit,則必須包含允許 CodeCommit 呼叫函數的原則。如需詳細資訊,請參閱 為現有 Lambda 函數建立觸發器 及 範例 3:建立與 CodeCommit 觸發器 AWS Lambda 整合的策略。