Я пытаюсь получить ключ (instanceId) из документа JSON, используя jmespath. Документы JSON выглядят так:
targets = {'instances':
[
{'instanceId': u'i-035dd764fe1a08091', 'hostIp': '10.200.10.150'},
{'instanceId': u'i-04ed0d110fef5aef7', 'hostIp': '10.200.10.121'},
{'instanceId': u'i-0f7778162b14c954f', 'hostIp': '10.200.20.135'}
]
}
Я чувствую, что это должно работать:
jmespath.search('instances[?hostIp=="10.200.10.150"].instanceId', targets)
но он возвращает пустой набор. При замене IP-адреса строкой, например. письмо, он возвращает instanceId. Каков синтаксис jmespath для поиска значения, когда это число? В конечном счете, я пытаюсь получить instanceId от hostIp.