Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOIファイルサービス

gNOI File サービスを使用して、ネットワークデバイス上のファイルを管理します。

FileサービスRPCを使用して、ファイルの転送と削除、またはファイルに関する情報の取得を行います。プロト定義ファイルは https://github.com/openconfig/gnoi/blob/master/file/file.proto にあります。

サポートされているRPC

表1:サポートされているfile.proto RPC
RPC 説明 リリースで導入
Get()

ターゲットからファイルの内容を読み取り、ストリーミングします。

ファイルは順次メッセージでストリーミングされ、各メッセージには最大64KBのデータが含まれます。送信されたデータのハッシュを含むストリームを閉じる前に、最後のメッセージが送信されます。ファイルが存在しない場合、またはファイルの読み取り中にエラーが発生した場合、この操作はエラーを返します。

Junos OS Evolved 22.2R1

Put()

ターゲット上のファイルにデータをストリーミングします。

ファイルは順次メッセージで送信され、各メッセージには最大64KBのデータが含まれます。データのハッシュを含む最終メッセージを送信する必要があります。

この操作は、ロケーションが存在しない場合、またはデータの書き込み中にエラーが発生した場合にエラーを返します。チェックサムを受信しない場合、ターゲットは部分的に送信されたファイルを削除します。失敗しても、同じ名前の既存のファイルは変更されません。

Junos OS Evolved 22.2R1

Remove()

指定されたファイルをターゲットから削除します。この操作は、ファイルが存在しない場合、ファイルパスがディレクトリに解決された場合、または削除操作でエラーが発生した場合にエラーを返します。

Junos OS Evolved 22.2R1

Stat()

ターゲットデバイス上のファイルに関するメタデータを返します。ファイルが存在しない場合、またはメタデータへのアクセス中にエラーが発生した場合、この操作はエラーを返します。

Junos OS Evolved 22.2R1

ネットワークデバイスの設定

始める前に:

ターゲットデバイスでファイル操作を実行するには、クライアントがファイルシステムと対話するための適切な権限を持っている必要があります。

例:ファイルの取得

この例では、ターゲットデバイスからローカルネットワーク管理システムにファイルをダウンロードするためのシンプルなPythonアプリケーション gnoi_file_get.pyを提供します。

アプリケーションは、チャネルを確立するために grpc_channel モジュールをインポートします。 grpc_channel モジュールについては、 gNOIサービスの設定で説明しています。アプリケーションの引数は args_file_get.txt ファイルに格納されます。アプリケーションファイルと引数ファイルがここに示されています。

gnoi_file_get.py

args_file_get.txt

アプリケーションの実行

クライアントはアプリケーションを実行すると、指定したファイルをターゲットデバイスからローカルデバイスに転送します。

例:ファイルの書き込み

この例では、ローカルネットワーク管理システムからターゲットデバイスにファイルをアップロードするためのシンプルなPythonアプリケーション gnoi_file_put.pyを提供します。

アプリケーションは、チャネルを確立するために grpc_channel モジュールをインポートします。 grpc_channel モジュールについては、 gNOIサービスの設定で説明しています。アプリケーションの引数は args_file_put.txt ファイルに格納されます。アプリケーションファイルと引数ファイルがここに示されています。

gnoi_file_put.py

args_file_put.txt

アプリケーションの実行

クライアントはアプリケーションを実行すると、指定されたファイルをローカルデバイスからターゲットデバイスに転送し、 dest_file_mode 値に応じてファイル権限を設定します。