我想获取特定AMI的图像ID。我通过使用boto3.describe_images做到这一点。
首先,我很广泛,只使用平台作为我的过滤器,但这太慢了,因此我将其指定给想要的特定ami,但得到了结果,但其中没有任何内容。
client = boto3.client('ec2')
response = client.describe_images(
Filters=[
{
'Name': 'name',
'Values' : [
'Microsoft Windows Server 2016 Base'
]
}
]
)
print (response)
我希望图像中有一个列表,但我得到了
{'Images': [], 'ResponseMetadata': {'RequestId': '**********', 'HTTPStatusCode': 200, 'HTTPHeaders': {'content-type': 'text/xml;charset=UTF-8', 'content-length': '219', 'date': '*date*', 'server': 'AmazonEC2'}, 'RetryAttempts': 0}}
答案 0 :(得分:0)
造成这种情况的潜在原因很少
该图像在您的默认区域中不存在。您可能希望在初始化客户端时通过区域
client = boto3.resource('ec2',region_name ='REPLACE_AMI_REGION')
您可能使用的帐户凭据不是AMI所在的帐户来运行脚本
也许您的过滤器与图片不匹配
实际上没有AMI,希望您已从AWS控制台确认了这一点。