Slide 20
Slide 20 text
> 基本的なスタック定義
/* Lamdbaに接続するAPI Gatewayを作成する場合 */
// 各種モジュールをインポート
import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import * as apigw from '@aws-cdk/aws-apigateway';
// exportでStackを公開
// Stackの実装はcdk.Stackを継承したClassに記述
export class TestStack extends cdk.Stack {
// constructorに宣言したリソースが生成される
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
// お決まり
super(scope, id, props);
// Lamdbaを作成
const helloLambda = new lambda.Function(this /*お決まり*/, 'HelloHandler' /*任意*/, /*ここが重要*/ {
runtime: lambda.Runtime.NODEJS_10_X, // ランライムのバージョン
code: lambda.Code.fromAsset('lambda'), // ファイルシステムからLambdaのコードを読み込み
handler: 'hello.handler' // ハンドラ名を指定
});
// API Gatewayを作成
new apigw.LambdaRestApi(this, 'Endpoint', {
handler: helloLambda
});
}
}