如何仅显示 boto3 instance.create_image() 返回的 AMI id

How to display only AMI id returned by boto3 instance.create_image()

下面是用于从给定的 ec2 实例创建 ami 的 boto3 代码。 如何修改输出以仅提取创建的 AMI id 的值?

import boto3

ec2 = boto3.resource('ec2')

instance = ec2.Instance('xxxxxxxxxxx')
image = instance.create_image(
                BlockDeviceMappings=[
                {
                    'DeviceName': '/dev/sda1',
                    'Ebs': {
                        'DeleteOnTermination': True,
                    }
                }
            ],


        Name='xxxxxxxxxxxxxxxxxxxx'
)
image.wait_until_exists('self',Filters=[{'Name':'state','Values':['available']}])
print("Image Created ",image)

以上代码的输出为:

Image Created  ec2.Image(id='ami-0c59fddbexxxxxxxxxx')

您可以使用id单独获取ami id:

#Boto3 code to create an ami from ec2 instance
import boto3

ec2 = boto3.resource('ec2')
instance = ec2.Instance('yourec2id')
image = instance.create_image(
                BlockDeviceMappings=[
                {
                    'DeviceName': '/dev/xvda',
                    'Ebs': {
                        'DeleteOnTermination': True,
                    }
                }
            ],
        Name='yourec2id'
)
image.wait_until_exists('self',Filters=[{'Name':'state','Values':['available']}])
print("Image Created ",image.id)

输出:

Image Created  ami-xxxx