如何使用 boto3 从 Amazon EBS 快照创建 AMI
How to use boto3 to create an AMI from an Amazon EBS Snapshot
使用 boto3 库在 AWS 中创建映像 (AMI) 时,提供以下参数:
ec2.create_image(Name=name, BlockDeviceMappings=[{'DeviceName':device_name,'Ebs':{'SnapshotId':snapshot_id, 'DeleteOnTermination': delete_on_term,
'VolumeSize':10, 'VolumeType':'gp2'}}])
我收到此错误:Missing required parameter in input: "InstanceId"
但是当我从用户界面创建图像时,不需要实例 ID。
在下图中,您可以看到我可以从 'Snapshots' 页面创建图像,而无需指定实例 ID。
有人知道解决方法吗?谢谢
"InstanceId" 是必需的 - 它必须包含您尝试创建图像的实例 ID。
从控制台创建映像时,您 select select 实例和 select 创建映像选项。因此控制台使用要传递的 selected 实例 ID 来创建图像。
当您需要使用boto3创建图像时,您需要告诉API您正在为哪个实例创建图像,因此您需要传入参数。试试这个
ec2.create_image(instance_id=yourInstanceId, Name=name, BlockDeviceMappings=[{'DeviceName':device_name,'Ebs':{'SnapshotId':snapshot_id, 'DeleteOnTermination': delete_on_term,
'VolumeSize':10, 'VolumeType':'gp2'}}])
使用此功能register_image从快照创建图像
response = client.register_image(
ImageLocation='string',
Architecture='i386'|'x86_64'|'arm64',
BlockDeviceMappings=[
{
'DeviceName': 'string',
'VirtualName': 'string',
'Ebs': {
'DeleteOnTermination': True|False,
'Iops': 123,
'SnapshotId': 'string',
'VolumeSize': 123,
'VolumeType': 'standard'|'io1'|'gp2'|'sc1'|'st1',
'Encrypted': True|False,
'KmsKeyId': 'string'
},
'NoDevice': 'string'
},
],
Description='string',
DryRun=True|False,
EnaSupport=True|False,
KernelId='string',
Name='string',
BillingProducts=[
'string',
],
RamdiskId='string',
RootDeviceName='string',
SriovNetSupport='string',
VirtualizationType='string'
)
使用 boto3 库在 AWS 中创建映像 (AMI) 时,提供以下参数:
ec2.create_image(Name=name, BlockDeviceMappings=[{'DeviceName':device_name,'Ebs':{'SnapshotId':snapshot_id, 'DeleteOnTermination': delete_on_term,
'VolumeSize':10, 'VolumeType':'gp2'}}])
我收到此错误:Missing required parameter in input: "InstanceId"
但是当我从用户界面创建图像时,不需要实例 ID。
在下图中,您可以看到我可以从 'Snapshots' 页面创建图像,而无需指定实例 ID。
有人知道解决方法吗?谢谢
"InstanceId" 是必需的 - 它必须包含您尝试创建图像的实例 ID。
从控制台创建映像时,您 select select 实例和 select 创建映像选项。因此控制台使用要传递的 selected 实例 ID 来创建图像。
当您需要使用boto3创建图像时,您需要告诉API您正在为哪个实例创建图像,因此您需要传入参数。试试这个
ec2.create_image(instance_id=yourInstanceId, Name=name, BlockDeviceMappings=[{'DeviceName':device_name,'Ebs':{'SnapshotId':snapshot_id, 'DeleteOnTermination': delete_on_term,
'VolumeSize':10, 'VolumeType':'gp2'}}])
使用此功能register_image从快照创建图像
response = client.register_image(
ImageLocation='string',
Architecture='i386'|'x86_64'|'arm64',
BlockDeviceMappings=[
{
'DeviceName': 'string',
'VirtualName': 'string',
'Ebs': {
'DeleteOnTermination': True|False,
'Iops': 123,
'SnapshotId': 'string',
'VolumeSize': 123,
'VolumeType': 'standard'|'io1'|'gp2'|'sc1'|'st1',
'Encrypted': True|False,
'KmsKeyId': 'string'
},
'NoDevice': 'string'
},
],
Description='string',
DryRun=True|False,
EnaSupport=True|False,
KernelId='string',
Name='string',
BillingProducts=[
'string',
],
RamdiskId='string',
RootDeviceName='string',
SriovNetSupport='string',
VirtualizationType='string'
)