Pustaka asinkron untuk bekerja dengan Mikrotik API

Sangat disambut.

Baru-baru ini, saya perlu bekerja dengan Mikrotik melalui API-nya. Sepertinya tidak ada yang luar biasa, ada perpustakaan resmi , ada juga bungkus di github , tapi ini masalahnya - saya harus bekerja secara asinkron melalui asyncio dan menggunakan roti async / menunggu. Dan saya tidak menemukan perpustakaan seperti itu.

Saya harus menulis sendiri.

Artikel tidak akan terlalu lama, karena tidak ada yang istimewa untuk ditulis. Dan tautan ke repositori sudah cukup.

Instalasi Paket:

pip install aio_api_ros 

Ini adalah contoh penggunaan:

 import asyncio from aio_api_ros import create_rosapi_connection async def main(): #   mk = await create_rosapi_connection( mk_ip='127.0.0.1', mk_port=8728, mk_user='myuser', mk_psw='mypassword' ) #   mk.talk_word('/ip/hotspot/active/print') #     res = await mk.read() print(res) mk.close() if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close() 

Dimungkinkan juga untuk membuat kumpulan koneksi sederhana sebelum Mikrotik, tetapi pool tersebut tidak diuji dalam kondisi pertempuran.

Contoh yang sama tetapi dengan kumpulan koneksi
 import asyncio from aio_api_ros import create_rosapi_simple_pool async def main(): mk = await create_rosapi_simple_pool( mk_ip='127.0.0.1', mk_port=8728, mk_user='myuser', mk_psw='mypassword', max_size=4 ) await mk.talk_word('/ip/hotspot/active/print') res = await mk.read() print(res) mk.close() if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close() 


Untuk mem-parsing tanggapan dari mikrot, saya menggunakan praktik terbaik dari repositori ini

Saya harap seseorang akan menemukan ini berguna.

Source: https://habr.com/ru/post/id444098/


All Articles