【发布时间】:2021-08-15 00:16:21
【问题描述】:
环境。
jupyterlab,python 3.8。
ubuntu 20.04LTS.
(客户端:macos bigsur / google chrome)。
使用 boto3。
情况。
我构建了 docker 镜像并成功推送到 ECR。
该图像具有 awslambdaric 并包含 aws-lambda-rie。
我可以使用 AWS Lambda 控制台部署该映像。
我想要。
使用 boto3(=python 代码)将其部署到 lambda。
问题。
按照 boto3 手册,部署 lambda 如下:
import boto3
lambdac = boto3.client('lambda')
dic = {
'FunctionName':'lambda-name',
# 'Runtime':'python3.8',
'Role':'my-role-arn',
'Code':{'ImageUri':uri},
}
lambdac.create_function(**dic)
这会出错。
它需要运行时,所以我添加了运行时(我认为 docker 容器版本不需要运行时)。
然后运行,又返回一个错误。
InvalidParameterValueException: An error occurred (InvalidParameterValueException) when calling the CreateFunction operation: Runtime and Handler are mandatory parameters for functions created with deployment packages.
这个错误让我觉得“不支持 boto3 deploy lambda with container?”
因为我没有看到使用 boto3 将容器部署到 lambda 的示例。
问题。
不是 boto3 供应将容器部署到 lambda 吗?
或者其他boto3函数的耗材呢? (ecr 客户端或其他...)。
或者python开发环境有没有其他方法可以将容器部署到lambda?
【问题讨论】:
标签: python amazon-web-services docker aws-lambda boto3