什么是正确的语法创建AW S AMI与博托增加房间的体积大小?

问题描述 投票:0回答:2

我有写的Boto程序(不boto3!)。该程序成功创建AMI,但与标准的根卷。我加BlockDeviceMappings像boto3但是有错误的一群。

ami_id = instance.create_image(name=get_name("ami"),
                               description="MP\
                               %s" % (get_name("ami")[-3:]),
                               BlockDeviceMappings=[
            {
                'DeviceName': '/dev/sda1',
                'Ebs': {
                    'VolumeSize': 30,
                },
            },
        ],)

经过这个脚本,不正确的语法。什么将成为博托正确的语法?

python amazon-web-services boto
2个回答
1
投票

像你所说,你的语法是错误的。我没有试过,但是这应该给你一个线索。 boto.ec2.blockdevicemapping

类boto.ec2.blockdevicemapping.BlockDeviceMapping(连接=无)

创建EC2实例时表示BlockDeviceTypes的集合。

dev_sda1 = BlockDeviceType()
dev_sda1.size = 100 # change root volume to 100GB instead of default
bdm = BlockDeviceMapping()
bdm[‘/dev/sda1’] = dev_sda1
ami_id = instance.create_image(name='...', block_device_mapping=bdm, ....)

0
投票

基于该helloV建议我修改了代码,但最终的脚本是有些不同。在伯特(未boto3)一个不能包括block_device_mapping入instance.create_image,需要使用的方法connection.create_image。因此,工作代码如下:

dev_sda1 = BlockDeviceType()
dev_sda1.size = 30 # change root volume to 30GB instead of default
bdm = BlockDeviceMapping()
bdm['/dev/sda1'] = dev_sda1

ami_id = ec2_connection.create_image(instance.id, name="NewAmi,  description="NewAMI",
                               block_device_mapping=bdm)
© www.soinside.com 2019 - 2024. All rights reserved.