我正在此website上使用模块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>