Utiliser des tables et des vues opérationnelles Junos PyEZ qui analysent les sorties non structurées
Junos PyEZ opérationnel (op) Tables pour extraire des données de sortie non structurées à partir du texte d’une commande CLI exécutée sur un équipement Junos ou d’une commande vty exécutée sur un concentrateur PIC flexible (FPC). Après avoir chargé ou importé la définition de la table dans votre module Python, vous pouvez récupérer les éléments de la table et extraire et manipuler les données.
Pour récupérer des informations à partir d’un équipement spécifique, vous devez créer une instance table et l’associer à l’objet Device
représentant l’équipement cible. Par exemple :
from jnpr.junos import Device from jnpr.junos.command.ospf_neighbor import OspfNeighborTable with Device(host='router.example.com') as dev: stats = OspfNeighborTable(dev)
Pour utiliser la table de votre application Junos PyEZ pour exécuter la commande et récupérer les données, appelez la méthode de get()
la table et fournissez tous les paramètres requis ou facultatifs. Si la table définit des arguments par défaut, par exemple, pour le args
, filters
, key_items
ou target
les paramètres, la get()
méthode utilise ces valeurs par défaut, sauf si vous les remplacez dans la liste d’arguments.
from jnpr.junos import Device from jnpr.junos.command.ospf_neighbor import OspfNeighborTable from pprint import pprint import json with Device(host='router.example.com') as dev: stats = OspfNeighborTable(dev) stats.get() pprint(json.loads(stats.to_json()))