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 演化版 22.2R1

Put()

将数据流式传输到目标上的文件。

该文件以顺序消息形式发送,每条消息最多包含 64KB 的数据。必须发送包含数据哈希的最终消息。

如果位置不存在或写入数据时出错,则该操作将返回错误。如果未收到校验和,目标将移除部分传输的文件。失败不会更改任何同名的现有文件。

Junos OS 演化版 22.2R1

Remove()

从目标中删除指定的文件。如果文件不存在、文件路径解析为目录或删除操作遇到错误,则该操作将返回错误。

Junos OS 演化版 22.2R1

Stat()

返回有关目标设备上文件的元数据。如果文件不存在或访问元数据时出错,则该操作将返回错误。

Junos OS 演化版 22.2R1

网络设备配置

开始之前:

要在目标设备上执行文件操作,客户端必须具有与文件系统交互的适当权限。

示例:获取文件

此示例提供了一个简单的 Python 应用程序, gnoi_file_get.py用于将文件从目标设备下载到本地网络管理系统。

应用程序导入grpc_channel模块以建立通道。配置 gNOI 服务中介绍了该grpc_channel模块。应用程序的参数存储在文件中args_file_get.txt。此处显示了应用程序和参数文件。

gnoi_file_get.py

args_file_get.txt

执行应用

当客户端执行应用程序时,它会将指定的文件从目标设备传输到本地设备。

示例:放置文件

此示例提供了一个简单的 Python 应用程序, gnoi_file_put.py用于将文件从本地网络管理系统上传到目标设备。

应用程序导入grpc_channel模块以建立通道。配置 gNOI 服务中介绍了该grpc_channel模块。应用程序的参数存储在文件中args_file_put.txt。此处显示了应用程序和参数文件。

gnoi_file_put.py

args_file_put.txt

执行应用

客户端在执行应用程序时,将指定的文件从本地设备传输到目标设备,并根据值 dest_file_mode 设置文件权限。