AWS CodeCommit は、新しいお客様では利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeCommit リポジトリのトリガーを管理する
Amazon Simple Notification Service (Amazon SNS) からの通知の送信や での関数の呼び出しなど、コードプッシュやその他のイベントがアクションをトリガーするように CodeCommit リポジトリを設定できます AWS Lambda。 CodeCommit リポジトリごとに最大 10 個のトリガーを作成できます。
トリガーは一般的に次のように設定されます。
-
リポジトリにプッシュする度に登録ユーザーに E メールを送信する。
-
リポジトリのメインブランチにプッシュされたらビルドを開始するように外部のビルドシステムに通知する。
外部のビルドシステムのようなシナリオの場合は、他のアプリケーションと相互作用するように Lambda 関数を記述する必要があります。E メールシナリオでは、Amazon SNSトピックを作成するだけで済みます。
このトピックでは、 が Amazon SNSと Lambda でアクション CodeCommit をトリガーするアクセス許可を設定する方法について説明します。また、トリガーの作成、編集、テスト、削除の例を示したリンクも紹介します。
トピック
リソースを作成し、 のアクセス許可を追加する CodeCommit
Amazon SNSトピックと Lambda 関数を のトリガーと統合できますが CodeCommit、まずリソースを作成して設定し、それらのリソースを操作する CodeCommit アクセス許可を付与するポリシーを設定する必要があります。リソースはリポジトリ AWS リージョン と同じ に作成する必要があります CodeCommit 。例えば、リポジトリが米国東部 (オハイオ) (us-east-2) にある場合、Amazon SNSトピックまたは Lambda 関数は米国東部 (オハイオ) にある必要があります。
-
Amazon SNSトピックの場合、Amazon SNSトピックが CodeCommit リポジトリと同じアカウントを使用して作成された場合は、追加のIAMポリシーやアクセス許可を設定する必要はありません。Amazon SNSトピックを作成してサブスクライブしたら、すぐに CodeCommit トリガーを作成できます。
Amazon でのトピックの作成の詳細についてはSNS、「Amazon SNSドキュメント」を参照してください。
Amazon を使用して Amazon SQSキューSNSにメッセージを送信する方法については、「Amazon デベロッパーガイド」の「Amazon SQS キューにメッセージを送信する」を参照してください。 SNS
-
Amazon を使用して Lambda 関数をSNS呼び出す方法については、「Amazon SNSデベロッパーガイド」の「Lambda 関数の呼び出し」を参照してください。
-
別の AWS アカウントで Amazon SNSトピックを使用するようにトリガーを設定する場合は、まず、そのトピック CodeCommit に が発行できるポリシーを使用してそのトピックを設定する必要があります。詳細については、「例 1: Amazon SNSトピックへのクロスアカウントアクセスを有効にするポリシーを作成する」を参照してください。
-
Lambda 関数を設定するには、この関数の一部として Lambda コンソールでトリガーを作成します。Lambda コンソールで作成されたトリガーには、Lambda 関数を呼び出す CodeCommit ために必要なアクセス許可が自動的に含まれるため、これは最も簡単な方法です。でトリガーを作成する場合は CodeCommit、 が関数 CodeCommit を呼び出すためのポリシーを含める必要があります。詳細については、「既存の Lambda 関数のトリガーを作成する」および「例 3: CodeCommit トリガーと AWS Lambda 統合するためのポリシーを作成する」を参照してください。