pysnmp-sky/docs/source/examples/hlapi/v3arch/asyncio/contents.rst

69 lines
2.5 KiB
ReStructuredText

Asynchronous SNMP (asynio, v3arch)
==================================
The :mod:`asyncio` module first appeared in standard library since
Python 3.3 (in provisional basis). Its main design feature is that it
makes asynchronous code looking like synchronous one thus eliminating
"callback hell".
With `asyncio` built-in facilities, you could run many SNMP queries
in parallel and/or sequentially, interleave SNMP queries with other I/O
operations. See `asyncio resources <http://asyncio.org>`_
repository for other `asyncio`-compatible modules.
In most examples approximate analogues of well known Net-SNMP snmp* tools
command line options are shown. That may help those readers who, by chance
are familiar with Net-SNMP tools, better understanding what example code doe
Here's a quick example on a simple SNMP GET by high-level API:
.. include:: /../../examples/hlapi/v3arch/asyncio/manager/cmdgen/v1-get.py
:start-after: options:
:end-before: Functionally
.. literalinclude:: /../../examples/hlapi/v3arch/asyncio/manager/cmdgen/v1-get.py
:start-after: """#
:language: python
To make use of SNMPv3 and USM, the following code performs a series of
SNMP GETNEXT operations effectively fetching a table of SNMP variables
from SNMP Agent:
.. include:: /../../examples/hlapi/v3arch/asyncio/manager/cmdgen/getbulk-to-eom.py
:start-after: options:
:end-before: Functionally
.. literalinclude:: /../../examples/hlapi/v3arch/asyncio/manager/cmdgen/getbulk-to-eom.py
:start-after: """#
:language: python
More examples on Command Generator API usage follow.
.. toctree::
/examples/hlapi/v3arch/asyncio/manager/cmdgen/snmp-versions
/examples/hlapi/v3arch/asyncio/manager/cmdgen/walking-operations
/examples/hlapi/v3arch/asyncio/manager/cmdgen/advanced-topics
Sending SNMP TRAP's and INFORM's is as easy with PySNMP library.
The following code sends SNMP TRAP:
.. include:: /../../examples/hlapi/v3arch/asyncio/agent/ntforg/default-v1-trap.py
:start-after: options:
:end-before: Functionally
.. literalinclude:: /../../examples/hlapi/v3arch/asyncio/agent/ntforg/default-v1-trap.py
:start-after: """#
:language: python
More examples on Notification Originator API usage follow.
.. toctree::
/examples/hlapi/v3arch/asyncio/agent/ntforg/common-notifications
/examples/hlapi/v3arch/asyncio/agent/ntforg/advanced-topics
More sophisticated or less popular SNMP operations can still be performed
with PySNMP through its Native API to Standard SNMP Applications.