Я извлекаю данные с помощью API и получаю список серверов и резервных копий. Некоторые серверы имеют более одной резервной копии. Вот как я получаю список всех серверов с идентификаторами резервного копирования.
bkplist = requests.get('https://heee.com/1.2/storage/backup')
bkplist_json = bkplist.json()
backup_list = bkplist.json()
backupl = backup_list['storages']['storage']
Json выглядит так:
{
"storages": {
"storage": [
{
"access": "",
"created": "",
"license": ,
"origin": "01165",
"size": ,
"state": "",
"title": "",
"type": "backup",
"uuid": "01019",
"zone": ""
},
Сначала я создаю словарь для хранения этих данных:
backup = {}
for u in backup_list['storages']['storage']:
srvuuidorg = u['origin']
backup_uuid = u['uuid']
backup[srvuuidorg] = backup_uuid
Но потом я обнаружил, что для каждого сервера существует более одного значения. Так как словарь может иметь только одно значение, назначенное одной клавише, я хотел использовать гибрид списка и словаря, но я просто не могу понять, как это сделать с этим примером.
Серверы вложены в хранилища -> хранилище , и мне нужно назначить пару uuid , которая является идентификатором резервной копии, одному origin , который является идентификатором сервера.
Я знаю о коллекциях модуле, и на простом примере это вполне понятно, но у меня есть проблема, как использовать это в моем примере для извлечения данных через API.
Как извлечь origin и присвоить этому ключу другие значения, хранящиеся в json uuid ?
Более того, это огромный объем данных, поэтому я не могу добавить каждое значение вручную.