AWS CDKでAPI Gatewayをデプロイする

AWS CDKでAPI Gatewayをデプロイする

AWS CDKでLambda(node.js)をデプロイする」の続きです。

lib配下のts修正

lib配下のtsファイルを編集します。import文追加とadd start ~ add endまでです。

import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as apigw from 'aws-cdk-lib/aws-apigateway'; // add

export class Sample001Stack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    const index = new lambda.Function(this, 'IndexHandler', {
      runtime: lambda.Runtime.NODEJS_16_X, // node.js v16
      code: lambda.Code.fromAsset('lambda'), // lambdaディレクトリ
      handler: 'index.handler' // index.jsにしたのでindex
    })

    // add start
    new apigw.LambdaRestApi(this, 'Endpoint', { // このEndpoinが名前になる
      handler: index
    });
    // add end
  }
}

これで保存します。

cdk deploy

デプロイします。

cdk deploy

これでstackとapigatewayがデプロイされます。

AWS CDKでAPI Gatewayをデプロイする

curlでテストします。

curl -X GET https://62gmujt0gg.execute-api.ap-northeast-1.amazonaws.com/prod/
Hello, CDK! You've hit /

OKです。

最後にdestroyでAPI Gateway,Lambdaを削除します。

cdk destroy

参考サイト

TypeScript Workshop

コメント

タイトルとURLをコピーしました