Я хочу, чтобы получить идентификатор тома блочного устройства (не корень устройства) экземпляра под названием «приложение»:Получить идентификатор тома блочного устройства ec2 например
ec2client = session.client('ec2')
response = ec2client.describe_instances(Filters=[{'Name': 'tag-key', 'Values': ['application'] },])
Как я могу извлечь Идентификатор от ответа? Я знаю, что идентификатор тома в синтаксисе ответа:
'BlockDeviceMappings': [
{
'DeviceName': 'string',
'Ebs': {
'VolumeId': 'string',
'Status': 'attaching'|'attached'|'detaching'|'detached',
'AttachTime': datetime(2015, 1, 1),
'DeleteOnTermination': True|False
}
},
],
Я попытался это:
for r in response['Reservations']:
for i in r['Instances']:
print i['InstanceId'], i['Hypervisor']
for b in i['BlockDeviceMappings']:
print b['Ebs']['VolumeId']
Но я ничего не получаю .. ничего не печатает.
спасибо, когда я использую печати [ 'BlockDeviceMappings'] [0] [ 'Ebs'] [ 'VolumeId'] ', который дает мне' KeyError: 'BlockDeviceMappings' ' – JavaQueen
Можете ли вы« отпечатать ответ »? Я сделал предположение, что вы показываете весь словарь ответов. –
Это то, что дает ответ «print response»: '{u'Reservations ': [],' ResponseMetadata ': {' HTTPStatusCode ': 200,' RequestId ':' 4984584h-1681-403d-850b-db0eb4a99da2 ',' HTTPHeaders ': {' transfer-encoding ':' chunked ',' vary ':' Accept-Encoding ',' server ':' AmazonEC2 ',' content-type ':' text/xml; charset = UTF-8 ',' date ':' Fri, 20 Jan 2017 14:14:53 GMT '}}} ' – JavaQueen