Q6 — AWS DVA-C02 第2章
第 6/100 問 | ← 第2章
開発者はAWSクラウド開発キット(AWS CDK)を用いたサーバーレスアプリケーションを実装しています。開発者はAWS CloudFormationスタック作成中にAWS Lambda関数およびAmazon API Gateway APIをプロビジョニングします。開発者はローカル環境にAWSサーバーレスアプリケーションモデル(AWS SAM)およびAWS CDKをインストール済みです。開発者は特定のLambda関数をローカルでテストするにはどうすればよいですか?
- A. sam packageおよびsam deployコマンドを実行します。AWSマネジメントコンソールからLambdaテストイベントを作成し、Lambda関数をテストします。
- B. cdk synthおよびcdk deployコマンドを実行します。AWSマネジメントコンソールからLambdaテストイベントを作成し、Lambda関数をテストします。
- C. 関数の構築子識別子および合成されたCloudFormationテンプレートのパスを指定して、cdk synthおよびsam local invokeコマンドを実行します。 ✓
- D. 関数の構築子識別子および合成されたCloudFormationテンプレートのパスを指定して、cdk synthおよびsamlocal start-lambdaコマンドを実行します。
正解: C. 関数の構築子識別子および合成されたCloudFormationテンプレートのパスを指定して、cdk synthおよびsam local invokeコマンドを実行します。
解説
cdk synthコマンドは、AWS CDKアプリケーションをCloudFormationテンプレートに合成するために使用されます。これは、AWS CDKアプリケーションをAWS CloudFormationネイティブテンプレートに変換するプロセスです。 Sam local invokeコマンドは、AWS SAMコマンドラインツールの一部であり、ローカルでLambda関数の呼び出しをシミュレートできます。関数の論理識別子および合成されたCloudFormationテンプレートのパスを指定することで、開発者はローカルで特定のLambda関数を起動・テストできます。 他の選択肢の分析: A. cdk synthおよびcdk deployコマンドはCDKスタックの合成およびデプロイに使用されますが、Lambda関数のローカル呼び出しを直接シミュレートできません。AWSマネジメントコンソールでLambdaテストイベントを作成するのは、sam local invokeによるローカルテストと比較して不必要な手順です。 C. sam packageおよびsam deployコマンドは、AWS SAMツールチェーンによるサーバーレスアプリケーションのパッケージングおよびデプロイに使用され、AWS CDKによって生成されたCloudFormationスタックのローカルテストには直接適用されません。 D. cdk synthおよびsamlocal start-lambdaコマンドの組み合わせは、正しいAWS CDKおよびAWS SAMツールチェーンの使用方法ではなく、samlocal start-lambdaは誤ったコマンド形式です。 したがって、選択肢Cが正しい答えです。これは、AWS CDKによるテンプレート合成とAWS SAMによるローカルLambda関数呼び出し機能を組み合わせ、開発者がローカルでLambda関数を効果的にテストできるようにします。