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 传输和删除文件或检索有关文件的信息。proto 定义文件位于 https://github.com/openconfig/gnoi/blob/master/file/file.proto

支持的 RPC

表 1:支持的文件.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

网络设备配置

开始之前:

  • 按照配置 gRPC 服务中的说明,在网络设备上 配置 gRPC 服务
  • 按照配置 gNOI 服务中的说明,配置网络管理系统以支持 gNOI 操作
要在目标设备上执行文件操作,客户端必须具有与文件系统交互的相应权限。

示例:获取文件

此示例提供了一个简单的 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