【发布时间】:2022-02-09 21:59:30
【问题描述】:
我在template.yml 有 SAM 项目
Globals:
Function:
Timeout: 30
Environment:
Variables:
DBNAME: !Ref DBNAME
Resources:
MessageFunction:
Type: AWS::Serverless::Function
Properties:
PackageType: Image
Architectures:
- x86_64
Events:
Message:
Type: Api
Properties:
Path: /message
Method: post
Metadata:
Dockerfile: Dockerfile.message
DockerContext: ./botapp
DockerTag: python3.9-v1
然后像这样部署
sam deploy --guided --parameter-overrides DBNAME=mydb
这意味着我将设置环境变量DBNAME=mydb 并从Dockerfile.message 构建映像。
目前效果很好。
但是现在我想把它移到cdk
所以,我首先在 cdk 中编写了这段代码
const messageLambda = new lambda.DockerImageFunction(this, "BotLambda", {
code: lambda.DockerImageCode.fromImageAsset("chatbot-sam/botapp"),
});
但是我想设置dockerfile 和environment variables。
例如
const messageLambda = new lambda.DockerImageFunction(this, "BotLambda", {
code: lambda.DockerImageCode.fromImageAsset(
"chatbot-sam/botapp",
dockerfile: Dockerfile.message,
enviroment_variables: { DBNAME:'mydb'}
),
});
上面的代码不正确,但是我的想法可以吗?
如何指明Dockerfile 和environment variables?
【问题讨论】:
标签: typescript amazon-web-services docker aws-cdk