Как отобразить только идентификатор AMI, возвращаемый экземпляром boto3 instance.create_image () - PullRequest
0 голосов
/ 20 мая 2019

Ниже приведен код boto3 для создания ами из данного экземпляра ec2. Как я могу изменить вывод, чтобы извлечь только значение созданного идентификатора AMI?

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')

1 Ответ

2 голосов
/ 20 мая 2019

Вы можете использовать id, чтобы получить только идентификатор ami:

#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
...