【发布时间】:2021-07-24 07:02:54
【问题描述】:
我的 AWS lambda 函数 MyLambda 需要一个名为 auxiliary.json 的文件。我在控制台中手动创建了函数和文件,它工作正常。
现在,我想使用 CloudFormation 执行此操作,这样我就可以在控制台上看到 lambda 函数代码和文件内容,并且它的工作方式与手动创建的相同。我不想将其打包为 zip 并将其推送到 S3 存储桶。
我的代码文件夹中的文件结构如下:
.
├── lambda-template.yaml
└── lambdas/
├── mylambda.py
└── auxiliary.json
在lambda-template.yaml 中,我有如下 lambda 资源:
Resources:
MyLambda:
Type: AWS::Lambda::Function
Properties:
FunctionName: "MyLambda"
Code: lambdas/mylambda.py
Handler: "MyLambda.lambda_handler"
Runtime: "python3.8"
Timeout: 30
MemorySize: 128
像下面这样运行aws cloudformation package 后,我将mylambda.py 中的代码添加到mylambda-template.packaged.yaml 文件中。
aws cloudformation package \
--template-file mylambda-template.yaml \
--s3-bucket example-bucket \
--output-template-file mylambda-template.packaged.yaml \
--profile myawsprofile \
--region us-east-1
而且,我可以毫无问题地部署如下打包的模板:
aws cloudformation deploy \
--template-file mylambda-template.packaged.yaml \
--stack-name mylambda \
--profile myawsprofile \
--region us-east-1
但是,我无法使用 CloudFormation 在控制台中添加所需的文件 auxiliary.json。我该怎么做?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cloudformation