Skip to main content
执行您通过 CLI 上传到 Lager Box 的自定义二进制程序。可用于客户专用工具、设备交互工具,或第三方命令行应用程序。

导入

函数

异常类

函数参考

run_custom_binary(binary_name, *args, **kwargs)

执行一个通过 lager binaries add 上传的自定义二进制程序。
参数: 返回: subprocess.CompletedProcess,具有以下属性:
  • returncode - 进程的退出码
  • stdout - 捕获到的标准输出(capture_output=True 时)
  • stderr - 捕获到的标准错误(capture_output=True 时)
抛出:
  • BinaryNotFoundError - 程序不存在或不可执行
  • subprocess.TimeoutExpired - 进程超时
  • subprocess.CalledProcessError - check=True 且返回码非零

get_binary_path(binary_name)

获取某个自定义二进制程序的完整文件系统路径。
参数: 返回: str - 该程序的完整路径 抛出: BinaryNotFoundError - 程序不存在或不可执行

list_binaries()

列出 Lager Box 上全部可用的自定义二进制程序。
返回: list[str] - 已排序的程序名称列表

示例

运行设备交互工具

使用自定义环境变量运行

查看可用的程序

错误处理

与测试脚本集成

上传二进制程序

自定义二进制程序通过 CLI 上传到 Lager Box:

程序存放位置

在 Lager Box 上,自定义二进制程序保存在:
  • 宿主机路径: /home/lagerdata/third_party/customer-binaries/
  • 容器路径: /home/www-data/customer-binaries/
该目录会挂载到容器中,因此上传之后无需重新构建,程序立即可用。

说明

  • 程序必须兼容 Linux x86_64(与 Lager Box 架构一致)
  • 程序名称不能包含路径分隔符(/\)或 ..
  • 程序必须可执行(上传时会自动设置)
  • 默认超时为 30 秒;用 timeout=None 表示不限时
  • 交互式或流式输出请使用 capture_output=False
  • 除非指定 env,否则环境变量继承自父进程