見出し画像

「実践 AWS CDK」に記載されている trail.addS3EventSelector() でエラーが出たので修正してみた

  前回に引き続き、「実践 AWS CDK」の修正です。TypeScript や Node.js や AWS CDK も、その周辺ライブラリなどのエコシステムも進化が早い……!

 ちなみに現時点の各種使用バージョンは以下の通りです。

Node.js: v12.16.1
TypeScript: 3.9.7
ESLint: 7.7.0
Prettier: 2.0.5
AWS CDK: 1.60.0

対象コード

 「第5章 感情分析システムを作ろう」の「5.6.1 CloudTrail の設定」で S3 のイベント証跡を記録するためのコードになります。

trail.addS3EventSelector([`arn:aws:s3:::${inputBucket.bucketName}/`], {
    readWriteType: cloudtrail.ReadWriteType.WRITE_ONLY,
});

エラー内容

型 'string' を型 'S3EventSelector' に割り当てることはできません。ts(2322)
error TS2322: Type 'string' is not assignable to type 'S3EventSelector'.

 S3EventSelector のインタフェースは下記で公開されていますのでそれに合わせる形で修正します。

修正後

trail.addS3EventSelector([{ bucket: inputBucket }], {
    readWriteType: cloudtrail.ReadWriteType.WRITE_ONLY,
});

 無事コンパイルエラーが消えました。🎉


😉