Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

例: AWS Lambda 関数の AWS CodeCommit トリガーを作成する - AWS CodeCommit

AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

例: AWS Lambda 関数の AWS CodeCommit トリガーを作成する

CodeCommit リポジトリのトリガーを作成して、リポジトリのイベントから Lambda 関数を呼び出すことができます。この例では、リポジトリのクローンを作成するために使用する URL を Amazon CloudWatch Logs に返す Lambda 関数を作成します。

Lambda 関数を作成する

Lambda コンソールを使用してこの関数を作成する場合は、Lambda 関数の CodeCommit トリガーを作成することもできます。以下の手順には、サンプル Lambda 関数が含まれます。このサンプルは、JavaScript と Python の 2 つの言語で使用できます。この関数は、リポジトリのクローンを CloudWatch Logs に作成するために使用する URL を返します。

Lambda の設計図を使用して Lambda 関数を作成します。
  1. にサインイン AWS Management Console し、 AWS Lambda コンソールを https://console.aws.amazon.com/lambda/://www.com で開きます。

  2. [Lambda Functions] (Lambda 関数) ページで、[Create function] (関数の作成) を選択します。(これまでに Lambda を使用したことがない場合は、[今すぐ始める] を選択します。)

  3. [関数の作成] ページで、[一から作成] を選択します。[関数名] に、関数の名前 (MyLambdaFunctionforCodeCommit など) を入力します。[ランタイム] で、関数の記述に使用する言語を選択し、[関数の作成] を選択します。

  4. [設定] タブで、[トリガーの追加] を選択します。

  5. [トリガー設定] で、サービスのドロップダウンリストから [CodeCommit] を選択します。

    コンソールからのリポジトリの作成

    • [リポジトリ名] で、リポジトリイベントに応答して Lambda 関数を使用するトリガーを設定するリポジトリの名前を選択します。

    • [Trigger name (トリガー名)] に、トリガーの名前 (例: MyLambdaFunctionTrigger) を入力します。

    • [Events (イベント)] で、Lambda 関数をトリガーするリポジトリイベントを選択します。[すべてのリポジトリイベント] を選択すると、他のイベントは選択できません。イベントのサブセットを選択する場合は、[すべてのリポジトリイベント] の選択を解除してから、使用するイベントをリストから選択します。たとえば、ユーザーが AWS CodeCommit リポジトリにタグまたはブランチを作成したときにのみトリガーを実行する場合は、すべてのリポジトリイベントを削除し、ブランチまたはタグの作成を選択します。

    • リポジトリのすべてのブランチにトリガーを適用するには、[ブランチ] で、[すべてのブランチ] を選択します。それ以外の場合は、[特定のブランチ] を選択します。リポジトリのデフォルトブランチがデフォルトで追加されます。リストからこのブランチを保持または削除することができます。リポジトリブランチのリストから最大 10 のブランチ名を選択します。

    • (オプション) [Custom data (カスタムデータ)] に、Lambda 関数に含める情報 (例: 開発者がリポジトリでの開発に関するやり取りに使用する IRC チャネルの名前) を入力します。このフィールドは文字列です。これは動的パラメータを渡すために使用することはできません。

    [Add] (追加) をクリックします。

  6. [設定] ページの [関数コード] で、コードエントリタイプとして [コードをインラインで編集] を選択します。[ランタイム] で、[Node.js] を選択します。サンプルの Python 関数を作成する場合は、[Python] を選択します。

  7. [コードエントリタイプ] で、[コードをインラインで編集] を選択した後、hello world コードを以下の 2 つのサンプルのいずれかに置き換えます。

    Node.js の場合:

    import { CodeCommitClient, GetRepositoryCommand, } from "@aws-sdk/client-codecommit"; const codecommit = new CodeCommitClient({ region: "your-region" }); /** * @param {{ Records: { codecommit: { references: { ref: string }[] }, eventSourceARN: string }[]} event */ export const handler = async (event) => { // Log the updated references from the event const references = event.Records[0].codecommit.references.map( (reference) => reference.ref, ); console.log("References:", references); // Get the repository from the event and show its git clone URL const repository = event.Records[0].eventSourceARN.split(":")[5]; const params = { repositoryName: repository, }; try { const data = await codecommit.send(new GetRepositoryCommand(params)); console.log("Clone URL:", data.repositoryMetadata.cloneUrlHttp); return data.repositoryMetadata.cloneUrlHttp; } catch (error) { console.error("Error:", error); throw new Error( `Error getting repository metadata for repository ${repository}`, ); } };

    Python の場合:

    import json import boto3 codecommit = boto3.client("codecommit") def lambda_handler(event, context): # Log the updated references from the event references = { reference["ref"] for reference in event["Records"][0]["codecommit"]["references"] } print("References: " + str(references)) # Get the repository from the event and show its git clone URL repository = event["Records"][0]["eventSourceARN"].split(":")[5] try: response = codecommit.get_repository(repositoryName=repository) print("Clone URL: " + response["repositoryMetadata"]["cloneUrlHttp"]) return response["repositoryMetadata"]["cloneUrlHttp"] except Exception as e: print(e) print( "Error getting repository {}. Make sure it exists and that your repository is in the same region as this function.".format( repository ) ) raise e
  8. [Permissions] (アクセス許可) タブの [Execution role] (実行ロール) で、ロールを選択して IAM コンソールで開きます。アタッチされたポリシーを編集して、トリガーを使用するリポジトリの GetRepository アクセス許可を追加します。

AWS CodeCommit リポジトリの Lambda 関数用のトリガーを表示する

Lambda 関数を作成したら、 AWS CodeCommitでトリガーを表示してテストできます。トリガーをテストすると、指定したリポジトリイベントに応答して関数が実行されます。

Lambda 関数のトリガーを表示およびテストするには
  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

  2. [リポジトリ] で、トリガーを表示するリポジトリを選択します。

  3. リポジトリのナビゲーションペインで、[設定] を選択し、[トリガー] を選択します。

  4. リポジトリのトリガーのリストを確認します。Lambda コンソールで作成したトリガーが表示されています。リストからそのトリガーを選択し、[Test trigger (トリガーのテスト)] を選択します。このオプションでは、リポジトリの最新コミット ID など、リポジトリに関するサンプルデータを使用して、関数を呼び出します。(コミット履歴が存在しない場合は、ゼロで構成されるサンプル値が生成されます。) これにより、 AWS CodeCommit と Lambda 関数間のアクセスが正しく設定されていることを確認できます。

  5. トリガーの機能をさらに検証するには、コミットを作成し、トリガーを設定したリポジトリにプッシュします。Lambda コンソールで、Lambda 関数からの応答がその関数の [モニタリング] タブに表示されます。[モニタリング] タブから、[CloudWatch のログを表示] を選択します。CloudWatch コンソールが新しいタブで開き、関数のイベントが表示されます。リストから、コミットをプッシュした時間に対応するログストリームを選択します。以下のようなイベントデータが表示されます。

    START RequestId: 70afdc9a-EXAMPLE Version: $LATEST 2015-11-10T18:18:28.689Z 70afdc9a-EXAMPLE References: [ 'refs/heads/main' ] 2015-11-10T18:18:29.814Z 70afdc9a-EXAMPLE Clone URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo END RequestId: 70afdc9a-EXAMPLE REPORT RequestId: 70afdc9a-EXAMPLE Duration: 1126.87 ms Billed Duration: 1200 ms Memory Size: 128 MB Max Memory Used: 14 MB
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.