Python: ошибка при получении ключа, хотя ключ существует, Azure API - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь использовать Azure API и получать ресурсы. Ответ большой JSON.

{
...
{
    "id": "/subscriptions/<subscription_name>/resourceGroups/<resouce_group_name>/providers/Microsoft.Compute/virtualMachines/<VM_name>",
    "name": "<VM_name>",
    "type": "Microsoft.Compute/virtualMachines",
    "location": "eastus",
    "tags": {}
},
...
}

Я сохраняю ответ в измененной форме в словаре (в переменной с именем self.resources, я использую классы), где ключ id и значение {'name': response['name'], 'type': response['type']}

что-то вроде

{
  '/subscriptions/<subscription_name>/resourceGroups/<resouce_group_name>/providers/Microsoft.Compute/virtualMachines/<VM_name>': 
                 {
            'name': response['name'],
            'type': response['type']
                 }
}

однако, когда я пытаюсь получить доступ к ключу в self.resources в другом методе, он дает мне ключ ошибка для 528 ключей из 1345.

Я могу подтвердить, что ключ присутствует, потому что я вижу его в файле JSON, который записывается после получения ответа.

Я даже пытался чтение из этого файла JSON вместо использования self.resources, но, тем не менее, ошибка сохраняется.

в чем может быть причина этого? Я использую python 3.8, windows 10.

1 Ответ

0 голосов
/ 11 апреля 2020

Таким образом, я решил проблему, и это была действительно глупая проблема, на самом деле я использовал два API, как я уже сказал, один для получения ресурсов, а другой API для оповещений, оба имели идентификатор ресурса, но в оповещениях один имена виртуальных машин указаны заглавными буквами.

Я подтвердил это, потому что не сравнивал слово за словом, а только выполнял поиск с использованием параметра поиска кода VS, и он не чувствителен к регистру.

I надеюсь, что это решит проблему тех, кто борется с идентификаторами.

...