部署 lambda 时 CDK 排除文件

ada*_*fli 2 aws-lambda aws-cdk

在打字稿中做一些 lambdas 并通过 cdk 部署等。一切正常,但我正在使用:

code: lambda.Code.asset('lambdas'),
Run Code Online (Sandbox Code Playgroud)

本地目录是 lambdas。然而,这会在其中部署 .js、.ts 和 .d.ts 文件,我想知道是否有这样的说法:

code: lambda.Code.asset('lambdas/*.js'),
Run Code Online (Sandbox Code Playgroud)

只需为较小的部署等部署 javascript 文件。

我想过在 tsconfig 文件中使用 outDir 但这也适用于 cdk stack.ts 所以这不起作用。

那么我有什么想法可以从 ts 项目中部署 js 文件吗?

Ami*_*nes 5

关键是使用fromAsset,因为asset已弃用。 在此输入图像描述

一些背景知识fromAssest

在幕后,CDK 使用引导堆栈创建新的 Amazon S3。 fromAssest从本地磁盘资产加载功能代码,该目录将被 zip 存档,然后上传到 bootstrap S3 存储桶,然后在部署堆栈时将传递 S3 对象的确切位置。

为了排除文件,请使用AssetOptions- exclude. 修复(资产):支持例外以排除模式#4473。

在此输入图像描述

用法:

    code: lambda.Code.fromAsset(".", {exclude: ['*.ts']})
Run Code Online (Sandbox Code Playgroud)