415 Ошибка клиента: неподдерживаемый тип носителя для URL, PyNSO create_data_value () - PullRequest
0 голосов
/ 14 декабря 2018

Я использую модуль PyNSO API на этом веб-сайте , и я могу подключиться к своему устройству с NSO на нем.Я могу читать данные из него, но я не могу отправить данные или обновить данные или даже удалить данные.Я слежу за документацией и примерами на github об этом модуле.Так что я действительно не понимаю, что происходит не так.Если вы мне это объясните, это будет очень здорово.

Чтобы показать, какие данные:

pprint(client.get_data(DatastoreType.RUNNING, ('snmp:snmp', 'agent')))

Ответ от него:

{u'snmp:agent': {u'enabled': True,
                 u'engine-id': {},
                 u'ip': u'0.0.0.0',
                 u'max-message-size': 50000,
                 u'udp-port': 4000,
                 u'version': {u'v1': [None], u'v2c': [None], u'v3': [None]}}}

И данные создания:

thisdict =  {
  "enabled": "False"
}
test = "False"
pprint(client.create_data_value(DatastoreType.RUNNING, ('snmp:snmp', 'agent', 'enabled'), thisdict, None))

И ответ, который я получил:

---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-52-6a85eac6771f> in <module>()
      4 }
      5 test = "False"
----> 6 pprint(client.create_data_value(DatastoreType.RUNNING, ('snmp:snmp', 'agent', 'enabled'), thisdict, None))

/usr/local/lib/python2.7/dist-packages/pynso/client.pyc in create_data_value(self, datastore, data_path, data, params)
    113                                    path=data_path,
    114                                    data=data,
--> 115                                    params=params)
    116 
    117     def delete_path(self, datastore, data_path, params=None):

/usr/local/lib/python2.7/dist-packages/pynso/connection.pyc in put(self, resource_type, media_type, data, path, params)
    108             params=params)
    109         try:
--> 110             response.raise_for_status()
    111             if response.status_code == 204:
    112                 return True

/usr/local/lib/python2.7/dist-packages/requests/models.pyc in raise_for_status(self)
    937 
    938         if http_error_msg:
--> 939             raise HTTPError(http_error_msg, response=self)
    940 
    941     def close(self):

HTTPError: 415 Client Error: Unsupported Media Type for url: http://x.x.x.x:8080/api/running/snmp:snmp/agent/enabled

Если я нажму на URL, откроется файл со следующим:

<enabled xmlns="http://tailf.com/ns/snmp" xmlns:y="http://tail-f.com/ns/rest"  xmlns:snmp="http://tailf.com/ns/snmp">true</enabled>
...