我将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()仅接受关键字参数。
答案 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"