Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ アプリケーションでインラインテーブルまたは外部テーブルとビューを読み込む

Junos PyEZ の表とビューにより、Junos デバイスを設定したり、操作コマンドの出力や設定データから特定の情報を抽出したりするためのシンプルで効率的な方法が提供されます。Junos PyEZ には、アプリケーションで使用できる事前定義された操作テーブルとビューのセットが用意されています。また、独自のカスタム操作テーブルや設定テーブルとビューを作成することもできます。

Python アプリケーションで直接マルチライン文字列としてクイック インライン テーブルとビューを作成したり、外部ファイルに 1 つ以上の Table および View 定義を作成したり、テーブルを Python アプリケーションにインポートしたりできます。インラインテーブルとビューは使いやすく、外部ファイルを使用することで、一元的で再利用可能なライブラリを作成できます。

Python アプリケーションで Junos PyEZ の定義済み表およびビューを使用するには、表をアプリケーションにインポートする必要があります。カスタムの表およびビューを使用するには、表定義とビュー定義を作成し、定義がモジュールの内部か外部かに応じて、アプリケーションにロードまたはインポートする必要があります。次のセクションでは、モジュールの内部と外部の両方のテーブルとビューのこのプロセスについて概要を説明します。

Junos PyEZの定義済みテーブルとビューをインポートする

Junos PyEZ jnpr.junos.op モジュールおよびモジュールは、 jnpr.junos.command 一般的な運用 RPC やコマンドに対して、事前に定義されたテーブルとビューの定義を提供します。Python アプリケーションで Junos PyEZ の定義済み表およびビューを使用するには、アプリケーションに適切なインポート・ステートメントを含める必要があります。Junos PyEZ Device クラスのインポートに加え、必要なテーブルもインポートする必要があります。

次の例では、事前定義された運用テーブル 、 、 EthPortTableをモジュールから jnpr.junos.op.ethport インポートします。

表定義とビュー定義をインポートした後、「 表とビューを使用する」の説明に従って使用できます。次の例では、テーブルで定義された RPC のデータを取得し、インターフェイス名と運用ステータスを印刷します。

Junos PyEZの事前定義されたテーブルとビューの詳細については、 事前定義されたJunos PyEZ操作テーブル(構造化出力)を参照してください。

インラインテーブルとビューの読み込み

Junos PyEZ アプリケーションでカスタム インライン テーブルとビューを作成、読み込み、使用するには、次の手順に示します。

  1. モジュールに以下のクラスとライブラリをインポートします。
  2. YAML で 1 つ以上のテーブルとビューをマルチライン文字列として定義します。
  3. 次のステートメントを含めて、テーブル定義とビュー定義を読み込みます。ここでは string-name 、Table/View定義を含む複数行文字列の識別子です。
  4. デバイスに接続し、Table を使用して情報を取得し、デバイスを設定します。またはその両方は、テーブルのタイプに応じて次のようになります

表定義とビュー定義を読み込んだ後は、モジュール内でのインライン表または外部表の使用方法に違いはありません。詳細については、「 テーブルとビューを使用する」を参照してください。

外部テーブルとビューを読み込む

外部テーブルとビューの定義は、Junos PyEZ アプリケーションの外部にあるファイルに配置されます。外部カスタム 表とビューを作成して Junos PyEZ アプリケーションにインポートするには、以下の手順に合わせて行います。

  1. YAML で 1 つ以上のテーブルとビューを定義し、拡張子のあるファイル .yml に保存します。
  2. テーブル ファイルと同じ基本名を持つファイルを作成しますが、 .py 拡張子を使用し、ファイルに次の 4 行のコードを含めます。
  3. yml ファイルと .py ファイルがサブディレクトリにある場合は、そのサブディレクトリに __init__.py ファイルを含め、アプリケーションでテーブル インポート ステートメントを処理する際に Python がこのディレクトリをチェックするようにします。
  4. Junos PyEZ アプリケーションで、クラスと必要なテーブルをインポート Device します。
  5. デバイスに接続し、Table を使用して情報を取得し、デバイスを設定します。またはその両方は、テーブルのタイプに応じて次のようになります

表定義とビュー定義を読み込んだ後は、モジュール内でのインライン表または外部表の使用方法に違いはありません。詳細については、「 テーブルとビューを使用する」を参照してください。

表とビューの使用

表定義とビュー定義を読み込むかインポートした後は、同じ方法で、定義済み、カスタムインライン、またはカスタム外部表を使用できます。

表を使用するには、以下の手順に示します。

  1. インスタンスをDevice作成し、ターゲット デバイスへの接続を開きます
  2. Table インスタンスを作成し、インスタンスに Device 関連付けます。
  3. 表のタイプに応じて、情報を取得したり、デバイスを構成したり、またはその両方を行ったりするには、「表」を使用します。
  4. 得られたオブジェクトを繰り返し操作して、必要な情報を抽出します。

次の例では、カスタム外部テーブルをインポートしますUserTable。アプリケーションはデバイスに接続し、テーブルのget()メソッドを呼び出して、 階層レベルからオブジェクトを[edit system login]取得userします。その後、アプリケーションは各ユーザー名とそれに対応するログインクラスを印刷します。

Junos PyEZ テーブルの使用の詳細については、以下のトピックを参照してください。