AWS CodeCommit リポジトリのトリガーを管理する - AWS CodeCommit

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CodeCommit リポジトリのトリガーを管理する

CodeCommit リポジトリを設定して、Amazon Simple Notification Service (Amazon SNS) から通知を送信する、 で関数を呼び出すなどのアクションをコードプッシュやその他のイベントがトリガーするようにできます AWS Lambda。 CodeCommit リポジトリごとに最大 10 個のトリガーを作成できます。

トリガーは一般的に次のように設定されます。

  • リポジトリにプッシュする度に登録ユーザーに E メールを送信する。

  • リポジトリのメインブランチにプッシュされたらビルドを開始するように外部のビルドシステムに通知する。

外部のビルドシステムのようなシナリオの場合は、他のアプリケーションと相互作用するように Lambda 関数を記述する必要があります。この E メールのシナリオで必要なことは、Amazon SNS トピックを作成することだけです。

このトピックでは、 が Amazon SNS および Lambda でアクション CodeCommit をトリガーできるようにするアクセス許可を設定する方法について説明します。また、トリガーの作成、編集、テスト、削除の例を示したリンクも紹介します。

リソースを作成し、 のアクセス許可を追加する CodeCommit

Amazon SNS トピックと Lambda 関数を のトリガーと統合できますが CodeCommit、まずリソースを作成し、それらのリソースを操作する 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 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: AWS Lambda の CodeCommit トリガーとの統合のポリシーを作成する」を参照してください。