概要
AWS CDK v2.196.1 は、Lambda NodejsFunction における重要なバグを修正したパッチリリースです。entry プロパティを指定せずに NodejsFunction をインスタンス化する際の問題が解決されました。
バグ修正
lambda-nodejs: NodejsFunction の自動エントリーポイント検出の修正
修正内容
NodejsFunction で entry プロパティを省略した場合、コンストラクタは自動的にエントリーポイントファイルを推測する機能を持っています。しかし、v2.196.0 で @propertyInjectable デコレータが追加されたことにより、コールスタックが変更され、この自動検出機能が正常に動作しなくなっていました。
この修正により、@propertyInjectable デコレータの適用方法が調整され、NodejsFunction の自動エントリーポイント検出機能が正常に動作するようになりました。
影響範囲
以下のように entry プロパティを省略して NodejsFunction を使用している場合に影響がありました:
import * as lambda from 'aws-cdk-lib/aws-lambda-nodejs';
import { Stack } from 'aws-cdk-lib';
export class MyStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
// entry プロパティを省略した場合、CDK は自動的に
// このファイルと同じディレクトリにある <construct-id>.ts または
// <construct-id>.js ファイルをエントリーポイントとして使用します
const fn = new lambda.NodejsFunction(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_20_X,
handler: 'handler',
// entry プロパティは省略可能
// CDK は自動的に MyFunction.ts または MyFunction.js を探します
});
}
}
v2.196.0 では上記のコードがエラーになっていましたが、v2.196.1 で修正され、再び正常に動作するようになりました。
関連リンク
Alphaモジュール
このリリースには、Alphaモジュールに関する変更はありません。
まとめ
AWS CDK v2.196.1 は、v2.196.0 で導入されたリグレッション(機能の後退)を修正する重要なパッチリリースです。NodejsFunction の自動エントリーポイント検出機能を使用している場合は、このバージョンへのアップグレードを推奨します。
機能追加は含まれておらず、バグ修正のみのリリースとなっています。