これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ローカルテストの開始方法
このトピックでは、 AWS CDK アプリケーションで AWS SAM CLI を使用するために必要な内容と、シンプルな AWS CDK アプリケーションを構築してローカルでテストする手順について説明します。
前提条件
ローカルでテストするには、SAM AWS CLI をインストールする必要があります。インストール手順については、「SAM AWS CLI のインストール」を参照してください。
AWS CDK アプリケーションの作成とローカルテスト
SAM CLI を使用して AWS CDK AWS アプリケーションをローカルでテストするには、Lambda 関数を含む AWS CDK アプリケーションが必要です。Lambda 関数を使用して基本的な AWS CDK アプリケーションを作成するには、次の手順に従います。詳細については、 AWS 「 Cloud Development Kit (AWS CDK) デベロッパーガイド」の AWS 「CDK を使用したサーバーレスアプリケーションの作成」を参照してください。
- ステップ 1: AWS CDK アプリケーションを作成する
-
このチュートリアルでは、TypeScript を使用する AWS CDK アプリケーションを初期化します。
実行するコマンド:
$ mkdir cdk-sam-example $ cd cdk-sam-example $ cdk init app --language typescript
- ステップ 2: アプリケーションに Lambda 関数を追加する
-
lib/cdk-sam-example-stack.ts
のコードを、以下のコードに置き換えます。import { Stack, StackProps } from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as lambda from 'aws-cdk-lib/aws-lambda'; export class CdkSamExampleStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props); new lambda.Function(this, 'MyFunction', { runtime: lambda.Runtime.PYTHON_3_12, handler: 'app.lambda_handler', code: lambda.Code.fromAsset('./my_function'), }); } }
- ステップ 3: Lambda 関数コードを追加する
-
my_function
という名前のディレクトリを作成します。そのディレクトリにapp.py
という名前のファイルを作成します。実行するコマンド:
def lambda_handler(event, context): return "Hello from SAM and the CDK!"
- ステップ 4: Lambda 関数をテストする
-
AWS SAM CLI を使用して、 AWS CDK アプリケーションで定義した Lambda 関数をローカルで呼び出すことができます。これを行うには、関数コンストラクト識別子と、合成された AWS CloudFormation テンプレートへのパスが必要です。
次のコマンドを実行して、
lib
ディレクトリに戻ります。$ cd ..
実行するコマンド:
$ cdk synth --no-staging
$ sam local invoke MyFunction --no-event -t ./cdk.out/CdkSamExampleStack.template.json
出力例:
Invoking app.lambda_handler (python3.9) START RequestId: 5434c093-7182-4012-9b06-635011cac4f2 Version: $LATEST "Hello from SAM and the CDK!" END RequestId: 5434c093-7182-4012-9b06-635011cac4f2 REPORT RequestId: 5434c093-7182-4012-9b06-635011cac4f2 Init Duration: 0.32 ms Duration: 177.47 ms Billed Duration: 178 ms Memory Size: 128 MB Max Memory Used: 128 MB