こんにちは、pysnmp で json を oid の配列として使用する方法を探しています。現在、私の inout データは次のようになっています。
(
# 1-st target (SNMPv1 over IPv4/UDP)
( cmdgen.CommunityData('public', mpModel=0),
cmdgen.UdpTransportTarget(('demo.snmplabs.com', 161)),
( cmdgen.MibVariable('SNMPv2-MIB', 'sysDescr', 0),
cmdgen.MibVariable('SNMPv2-MIB', 'sysLocation', 0) ) ),
# 2-nd target (SNMPv2c over IPv4/UDP)
( cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(('demo.snmplabs.com', 161)),
( cmdgen.MibVariable('SNMPv2-MIB', 'sysDescr', 0),
cmdgen.MibVariable('SNMPv2-MIB', 'sysLocation', 0) ) ),
# 3-nd target (SNMPv3 over IPv4/UDP)
( cmdgen.UsmUserData('usr-md5-des', 'authkey1', 'privkey1'),
cmdgen.UdpTransportTarget(('demo.snmplabs.com', 161)),
( cmdgen.MibVariable('SNMPv2-MIB', 'sysDescr', 0),
cmdgen.MibVariable('SNMPv2-MIB', 'sysLocation', 0) ) ),
# 4-th target (SN MPv3 over IPv6/UDP)
( cmdgen.UsmUserData('usr-md5-none', 'authkey1'),
cmdgen.Udp6TransportTarget(('::1', 161)),
( cmdgen.MibVariable('SNMPv2-MIB', 'sysDescr', 0),
cmdgen.MibVariable('SNMPv2-MIB', 'sysLocation', 0) ) ),
# N-th target
# ...
)
そして私はそれを次のように呼びます:
for authData, transportTarget, varNames in targets:
acmdGen.getCmd(
authData, transportTarget, varNames,
# User-space callback function and its context
(cbFun, (authData, transportTarget)),
lookupNames=True, lookupValues=True
)
誰かがサンプルを提供できれば素晴らしいでしょう。