boto3使用实例ID创建图像

时间:2019-04-24 13:54:10

标签: python amazon-web-services amazon-ec2 cloud boto3

我将boto3与python3一起用于AWS用法,在AWS控制台中,有一个非常简单的选项可从正在运行/已停止的ec2实例创建映像。我正在boto3 SDK中寻找类似的东西,我发现的最接近的东西是如何从EBS卷创建图像,如下所示:

session = boto3.Session(...)
ec2 = session.client("ec2") 
ec2.create_image(...)

here

所述

我想省去查找实例的卷ID的必要,只使用实例ID,可以吗?

我试图关注this 使用此代码:

ec2.create_image(instance_id) 

但是出现此错误

  

TypeError:create_image()仅接受关键字参数。

2 个答案:

答案 0 :(得分:1)

您应该可以使用以下方法简单地传递实例ID:

ec2.create_image(InstanceId=instance_id, Name="abc")

请注意,这将尝试重新引导EC2实例。如果您不希望实例重新启动,请使用:

ec2.create_image(InstanceId=instance_id, NoReboot=True, Name="abc")

答案 1 :(得分:1)

尝试相同时出现错误->

  

“ AttributeError:'ec2.ServiceResource'对象没有属性'create_image'”

所以我的建议是使用

"boto3.client('ec2').create_image" instead of "ec2.create_image"