AWS SAM と AWS CDK の開始方法
このトピックでは、AWS CDK アプリケーションで AWS SAM CLI を使用するために必要な事柄と、シンプルな AWS CDK アプリケーションを構築してローカルにテストするための手順を説明します。
前提条件
AWS CDK で AWS SAM CLI を使用するには、AWS CDK と AWS SAM CLI をインストールする必要があります。
-
AWS CDK のインストールについては、AWS Cloud Development Kit (AWS CDK) デベロッパーガイドの「Getting started with the AWS CDK」を参照してください。
-
AWS SAM CLI のインストールについては、「AWS SAM CLI のインストール」を参照してください。
AWS CDK アプリケーションの作成とローカルでのテスト
AWS SAM CLI を使用して AWS CDK アプリケーションをローカルにテストするには、Lambda 関数が含まれる AWS CDK アプリケーションが必須です。次のステップを使用して、Lambda 関数を使用する基本的な AWS CDK アプリケーションを作成します。詳細については、AWS Cloud Development Kit (AWS CDK) デベロッパーガイドの「AWS CDKを使用して、サーバーレスアプリケーションを作成する」を参照してください。
注記
AWS SAM CLI は、バージョン 1.135.0 以降の AWS CDK v1 およびバージョン 2.0.0 以降の AWS CDK v2 をサポートします。
ステップ 1: AWS CDK アプリケーションを作成する
このチュートリアルでは、TypeScript を使用するAWS CDK アプリケーションを初期化します。
実行するコマンド:
ステップ 2: アプリケーションに Lambda 関数を追加する
lib/cdk-sam-example-stack.ts
のコードを、以下のコードに置き換えます。
ステップ 3: Lambda 関数コードを追加する
my_function
という名前のディレクトリを作成します。そのディレクトリに app.py
という名前のファイルを作成します。
実行するコマンド:
mkdir my_function cd my_function touch app.py
次のコードを app.py
に追加します。
def lambda_handler(event, context): return "Hello from SAM and the CDK!"
ステップ 4: Lambda 関数をテストする
AWS CDK アプリケーションで定義されている Lambda 関数は、AWS SAM CLI を使用してローカルに呼び出すことができます。これを行うには、呼び出す関数のコンストラクト識別子と、合成した AWS CloudFormation テンプレートへのパスが必要です。
実行するコマンド:
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
AWS SAM CLI を使用した AWS CDK アプリケーションのテストに使用できるオプションの詳細については、「AWS SAM を使用する AWS CDK アプリケーションのローカルでのテスト」を参照してください。