amazon-web-services - AWS::Lambda::Function, JS 文件作为源
问题描述
我正在尝试通过 cloudformation 部署 lambda 函数。我的项目已设置
-src
--lambdas
---lambda1.js
---lambda2.js
---lambda3.js
然后我尝试将每个 lambda 文件作为 lambda 函数上传
Type: AWS::Lambda::Function
Properties:
FunctionName: lambda1
Role: !GetAtt LambdaAtEdgeRole.Arn
Runtime: nodejs10.x
Handler: index.handler
现在我正在尝试获取代码,但我没有看到可以上传 JS 文件的任何地方。我可以看到 ZIP,但是我必须为每个文件添加一个构建步骤来压缩它。我在哪里可以说lambda_src = ./src/lambdas/lambda1.js
解决方案
这是尝试重现您的设置以供执行的工作示例。aws cloudformation package
目录结构:
.
├── src
│ └── lambdas
│ ├── lambda1.js
│ ├── lambda2.js
│ └── lambda3.js
└── template.yaml
模板.yaml
Resources:
MyFunction1:
Type: AWS::Lambda::Function
Properties:
FunctionName: lambda1
Runtime: nodejs10.x
Handler: index.handler
Code: ./src/lambdas/lambda1.js
MyFunction2:
Type: AWS::Lambda::Function
Properties:
FunctionName: lambda1
Runtime: nodejs10.x
Handler: index.handler
Code: ./src/lambdas/lambda2.js
MyFunction3:
Type: AWS::Lambda::Function
Properties:
FunctionName: lambda1
Runtime: nodejs10.x
Handler: index.handler
Code: ./src/lambdas/lambda3.js
在项目的根文件夹中执行
aws cloudformation package --template-file template.yaml --output-template-file output.yml --s3-bucket <your-bucket-name>
然后你可以部署你的output.yml
.
推荐阅读
- android - Bitrise 上的 Detox 无法在 Android 上运行 - React Native
- docker - 如何在 docker 映像中创建目录?
- ansible - 无法使用 apt ansible 模块安装软件包,但可以从 shell
- c - 汇编程序消息:没有这样的指令:编译 C - GCC 9.3.0、Ubuntu 20.04 时的“endbr64”
- sql - Bigquery Pseudo_ID distinct count 远低于 Firebase 用户
- python - 如何将自定义数据放入 JSON 文件?
- android - Android:获取动作视图
- html - 我的 HTML + CSS 网站在屏幕的右侧和底部显示一个空白区域,而底部和右侧的边距均为 0
- c# - c# 控制台应用程序.netcore 3.0 sqlite-net-pcl | 无法添加行
- google-sheets - 谷歌表格过滤视图 - 在数字之前排序字符串