我一直在尝试使用新的AWS CDK管道构造(https://docs.aws.amazon.com/cdk/api/latest/docs/pipelines-readme.html),并成功设置了两个项目,包括关注https://aws.amazon.com/blogs/developer/cdk-pipelines-continuous-delivery-for-aws-cdk-applications/博客文章的发布。
但是,一旦我尝试向我的lambda添加依赖项,构建就会失败并显示
lib/lambda/handler.ts(2,24): error TS2307: Cannot find module 'stripe' or its corresponding type declarations.
我已经在带有lambda的目录中安装了package.json文件和node_modules,尝试将lambda和node_modules压缩,尝试通过控制台上传zip文件,并尝试在“ synthAction”步骤中获取“ buildCommand”安装依赖项。什么都行不通。
该资产似乎已在cdk.out目录中创建,并且正在上载代码更改,但是node_modules本身从未与lambda函数一起打包。
我正在使用“ SimpleSynthAction.standardNpmSynth”操作,以及“ buildCommand”步骤中的“ npm run build”命令。
我没有碰运气就看着Lambda can't find modules from outer folders when deployed with CDK,How to install dependencies of lambda functions upon cdk build with AWS CDK和https://github.com/aws-samples/aws-cdk-examples/issues/110#issuecomment-550506116。
我想念什么?
答案 0 :(得分:1)
看起来问题与捆绑有关。我放弃了“ CDK的全能方法”,转而使用SAM / CDK混合,但是这篇新博客文章建议捆绑是答案。
https://aws.amazon.com/blogs/devops/building-apps-with-aws-cdk/
具体地说,它引用了此构造,在我的情况下可能会有所帮助:https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html
将来可以尝试的东西。