Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

NETCONFセッションにおける運用情報リクエストの出力形式を指定する

NETCONF セッションでは、Junos デバイスに関する情報を要求するために、クライアント アプリケーションは Junos XML リクエスト タグ要素を <rpc> 囲む要素を発行します。NETCONF サーバーが特定の形式で出力を返すように要求するには、クライアント アプリケーションには、開く運用要求タグにオプション format 属性が含まれています。アプリケーションは、XML(Extensible Markup Language)タグ付き形式、JSON(JavaScript Object Notation)、またはフォーマットされたASCIIテキストでの出力を要求できます。構文は次のとおりです。

表 1 は、使用可能なフォーマットを示しています。縮小形式では、スペース、タブ、改行など、コンピューターの処理に必要でない文字が削除されます。ミニ化されたフォーマットはデータのサイズを小さくし、その結果、転送コストとデータ配信および処理時間を削減できます。

表 1: 運用 RPC 出力形式
format属性値の 説明
ascii フォーマットされたASCIIテキスト
json JavaScript Object Notation(JSON)
json-minified 不要なスペース、タブ、改行を削除した JSON 形式
text フォーマットされたASCIIテキスト
xml Junos XML タグ付き形式
xml-minified 不要なスペース、タブ、改行を削除したJunos XMLタグ付きフォーマット

XML 形式

デフォルトでは、NETCONF サーバーは運用情報を XML 形式で返します。属性が formatxml 設定されている場合、または属性が format 省略された場合、サーバーは XML で応答を返します。以下の例では、ge-0/3/0 インターフェイスの情報を要求し、 属性を format 省略しています。

NETCONF サーバーは XML 形式で情報を返します。これは、フィルターを操作モード コマンドに追加 | display xml したときに CLI に表示される出力と同じです。

運用コマンド RPC は、不要なスペース、タブ、改行を省略して、XML 出力を縮小形式で返す場合もサポートしています。サポートされているリリースでミニ化された XML 出力を要求するには、開始要求タグに format="xml-minified" 属性を含めます。例えば:

NETCONF サーバーは、ミニ化された XML 形式で情報を返します。

JSON 形式

Junos OS リリース 14.2 以降、運用データと設定データを JSON 形式で表示できるようになりました。NETCONF サーバーに JSON 形式の操作情報を返すように要求するには、クライアント・アプリケーションには、オープン操作要求タグの属性が含まれています format="json"

クライアント・アプリケーションが要求タグに属性を format="json" 含む場合、NETCONF サーバーは JSON を使用して応答をフォーマットします。

Junos OSリリース17.3R1以降、Junos OSを実行するデバイスは、JSON配列として複数の値を持つオブジェクトのみが出力されるコンパクトなJSON形式でデバイスの運用状態を出力することをサポートしています。コンパクトな JSON 形式を出力するようにデバイスを構成するには、 階層レベルで ステートメントを[edit system export-format state-data json]設定compactします。

運用コマンド RPC は、不要なスペース、タブ、改行を省略して、JSON 出力を縮小形式で返す場合にも対応しています。サポートされているリリースで縮小された JSON 出力を要求するには、開始リクエストタグに format="json-minified" 属性を含めます。例えば:

NETCONF サーバーは、この情報を縮小 JSON 形式で返します。

ASCII形式

NETCONF サーバーが Junos XML タグ要素でタグ付けする代わりに、運用情報をフォーマットされた ASCII テキストとして返すように要求するには、クライアント アプリケーションに開始要求タグに または format="ascii" 属性が含まれますformat="text"

クライアント アプリケーションに要求タグに format="text" または format="ascii" 属性が含まれている場合、NETCONF サーバーは応答を ASCII テキストとしてフォーマットし、タグ要素で<output>囲みます。および format="ascii" 属性はformat="text"、同一の出力を生成します。

次の例は、CLI で実行される同等の動作モード コマンドを示しています。

NETCONF サーバーから返される書式設定された ASCII テキストは、出力に「<」(小数記号)、>(大きい符号)、&(アンパーサンド)などの許可されていない文字が含まれている場合を除き、CLI 出力と同じです。NETCONF サーバーは、これらの文字をそれぞれ「<」、'>'、および「&」の同等の事前定義されたエンティティ参照で置き換えます。

Junos XML API でクライアント アプリケーションから要求された出力のタイプに対する応答タグ要素が定義されていない場合、NETCONF サーバーは XML タグ付き出力が要求された場合でも、タグ要素で <output> 囲まれたフォーマット済み ASCII テキストとして応答を返します。

メモ:

タグ要素内 <output> のデータのコンテンツと書式設定は変更される可能性があるため、クライアント アプリケーションはそれらに依存する必要はありません。

リリース履歴テーブル
リリース
説明
17.3R1
Junos OSリリース17.3R1以降、Junos OSを実行するデバイスは、JSON配列として複数の値を持つオブジェクトのみが出力されるコンパクトなJSON形式でデバイスの運用状態を出力することをサポートしています。
14.2
Junos OS リリース 14.2 以降、運用データと設定データを JSON 形式で表示できるようになりました。