首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用boto3和Docker部署?

如何使用boto3和Docker部署?
EN

Stack Overflow用户
提问于 2021-05-26 17:50:52
回答 1查看 1.1K关注 0票数 1

Environment.

jupyterlab,python 3.8

ubuntu 20.04LTS.

(客户端: macos bigsur /)

使用boto3。

Situation.

我建立了码头形象,并成功地把它推到ECR。

这张图片有awslambdaric和包含aws-lambda-rie。

我可以使用AWS控制台部署该映像。

我想要

使用boto3(=python代码)将其部署到lambda。

问题.

按照boto3手册,部署lambda如下所示:

代码语言:javascript
复制
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容器版本不需要运行时)。

然后运行,然后返回另一个错误。

代码语言:javascript
复制
InvalidParameterValueException: An error occurred (InvalidParameterValueException) when calling the CreateFunction operation: Runtime and Handler are mandatory parameters for functions created with deployment packages.

这个错误让我认为“不支持带有容器的boto3部署lambda吗?”

因为我没有看到使用boto3将容器部署到lambda的示例。

问题.

难道不是boto3供应将容器部署到lambda吗?

还是其他boto3函数提供的?(ecr客户或其他人.)

或者,对于python开发环境,是否还有其他方法将容器部署到lambda?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-05 19:05:06

我自己解决的。

create_function的后腿需要“PackageType”:“图像”

代码语言:javascript
复制
import boto3
lambdac = boto3.client('lambda')
dic = {
    'FunctionName':'lambda-name',
    'Role':'my-role-arn',
    'Code':{'ImageUri':uri},
    'PackageType':'Image'   #add this parameter
}
lambdac.create_function(**dic)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67710230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档