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

クイックインラインテーブルとビューを複数行文字列としてPython アプリケーションで直接作成することも、外部ファイルに 1 つ以上のテーブル定義とビュー定義を作成してテーブルを 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

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

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

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

Junos PyEZアプリケーションでカスタムインラインテーブルとビューを作成、ロード、使用するには:

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

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

外部テーブルとビューのインポート

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

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

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

テーブルとビューの使用

テーブル定義とビュー定義をロードまたはインポートした後、定義済み、カスタムインライン、またはカスタム外部テーブルを同じ方法で使用できます。

テーブルを使用するには:

  1. Deviceインスタンスを作成し、ターゲットデバイスへの接続を開きます。
  2. Table インスタンスを作成し、インスタンスに関連付けます Device
  3. テーブルを使用して、テーブルの種類に応じて、情報の取得、デバイスの設定、またはその両方を行います。
  4. 結果のオブジェクトを反復処理して操作し、必要な情報を抽出します。

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

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