Muy bienvenido.
Recientemente, necesitaba trabajar con Mikrotik a través de su API. Parece que no es nada notable, hay una
biblioteca oficial , también hay un
contenedor en el
github , pero aquí está el problema: tuve que trabajar asincrónicamente a través de asyncio y usar bollos async / wait. Y no encontré tal biblioteca.
Tuve que escribir yo mismo.
El artículo no será muy largo, porque no hay nada especial sobre lo que escribir. Y un
enlace al repositorio sería suficiente.
Instalación del paquete:
pip install aio_api_ros
Aquí hay un ejemplo de uso:
import asyncio from aio_api_ros import create_rosapi_connection async def main():
También es posible crear un grupo simple de conexiones antes de Mikrotik, pero el grupo no se probó en condiciones de combate.
El mismo ejemplo pero con un conjunto de conexiones. 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()
Para analizar las respuestas de microt, utilicé las mejores prácticas de este
repositorioEspero que alguien encuentre esto útil.