Yas*_*sen 5 python aws-lambda aws-cdk
我已经在 ECR 上推送了一个 Docker 镜像。我还使用它通过 AWS 控制台从容器映像创建 lambda 函数,并且运行成功。
现在,我想通过 AWS CDK 创建该函数。
在__init__lambda stack 类的函数中,我添加了:
repo = aws_ecr.Repository.from_repository_name(scope, "Repository", repository_name="my-repo-name")
lambdaFn = aws_lambda.DockerImageFunction(
self, "Test Function",
code=aws_lambda.DockerImageCode.from_ecr(repo),
timeout=core.Duration.seconds(600),
memory_size=8192,
environment=dict(PATH="/opt"),
role = role
)
Run Code Online (Sandbox Code Playgroud)
我在从 ECR 上的现有存储库定义变量时遇到问题repo。
解决了!
代码显示错误:jsii.errors.JSIIError: Import at 'Repository' should be created in the scope of a Stack, but no Stack found
object的第一个属性Repository应该是self引用堆栈的相同范围。
解决方案:
repo = aws_ecr.Repository.from_repository_name(self, "Repository", repository_name="my-repo-name")
lambdaFn = aws_lambda.DockerImageFunction(
self, "Test Function",
code=aws_lambda.DockerImageCode.from_ecr(
repository=repo,
tag="latest"
),
timeout=core.Duration.seconds(600),
memory_size=8192,
environment=dict(PATH="/opt"),
role = role
)
Run Code Online (Sandbox Code Playgroud)
tag或者,我还根据 Miguel 的回答明确指定了参数。
| 归档时间: |
|
| 查看次数: |
6765 次 |
| 最近记录: |