😽
aws-lambda-nodejs での lambda 作成
aws-lambda-nodejs が stable (安定版) になった。
aws-lambda-nodejs は、CDK上でlambda関数を登録してビルド・デプロイまでを一貫して行うことができるライブラリである。
これを使うことでlambda関数を個別にビルドせずに、CDKでビルド・デプロイを行うことができる。
内部ではesbuildを利用してビルドを行っている。
lambdanode-stack.ts
import * as cdk from "@aws-cdk/core";
import * as lambda from "@aws-cdk/aws-lambda-nodejs";
export class LambdanodeStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
new lambda.NodejsFunction(this, "my-handler", {
entry: "lib/lambda/getdate/index.ts",
handler: "handler",
bundling: {
minify: false,
sourceMap: true,
nodeModules: ["date-fns"],
},
});
}
}
index.ts
const format = require("date-fns/format");
exports.handler = async (event: any) => {
const response = {
statusCode: 200,
body: JSON.stringify(format(Date.now(), "MM/dd/yyyy")),
};
return response;
};
Discussion