Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ファイル間でJunos PyEZテーブル XMLを保存して読み込む

Junos PyEZ 表およびビューを使用すると、Junos デバイス上の操作コマンド出力または選択した構成データベースからターゲット・データを抽出できます。テーブル データを XML としてエクスポートできます。これにより、1 つ以上のデバイスの情報を取得し、後でそれを処理できます。Junos PyEZ は、この目的のためのメソッドを提供 savexml() します。

この savexml() 方法では、エクスポートされたデータの宛先ファイルパスを指定し、オプションでデバイスのホスト名とアクティビティのタイムスタンプをファイル名に含めることができます。標準 strftime 形式を使用して、タイムスタンプの形式を制御できます。

例えば、デバイスのリストをループし、モジュール内の XcvrTable 定義を使用してトランシーバ データを収集する場合を jnpr.junos.op.xcvr 考えます。以下のコードは、デバイスホスト名のリストを定義し、ユーザーにユーザー名とパスワードを入力するよう求め、次にループして各デバイスへの接続を確立します。

この時点で。プログラムはまだトランシーバーデータを取得しません。プログラムを実行すると、以下の出力になります。

トランシーバーデータを収集してログに記録するには、テーブルを各ターゲットデバイスに関連付け、データを取得し、メソッドを使用してファイルにsavexml()保存します。引数リストに と timestamp=Truesavexml()hostname=Trueめ、ホスト名とタイムスタンプを出力ファイル名に追加できます。この方法で複数のデバイスのデータを取得する場合、ホスト名、タイムスタンプ、またはその両方で各デバイスの出力ファイル名を区別して、1台のデバイスのデータが同じファイル内の以前のデバイスのデータを上書きしないようにする必要があります。

メモ:

引数は path 、ターゲット・ディレクトリーがローカル・ファイル・システムに存在することを前提としています。

プログラム内のデバイスループに追加コードを追加してからプログラムを実行した後、ターゲットディレクトリの内容を調べることができます。この例では、ホスト名とタイムスタンプ値がファイル名に埋め込まれています。

後処理のために後で XML データをインポートできます。データをインポートするには、対象のデバイスではなく、表を XML ファイルに関連付けます。例えば: