脚本开发 / DataFlux Func Sidecar
使用 Sidecar 连接器操作对象允许用户调用 Sidecar 执行 Shell 命令。
DFF.CONN(...)
参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
connector_id |
str | 必须 | 连接器 ID |
有关 Sidecar 的完整使用文档,请参考「Sidecar 手册」
.shell(...)
shell(...)
方法用于执行调用 Sidecar 执行 Shell 命令,参数如下:
参数 | 类型 | 必须/默认值 | 说明 |
---|---|---|---|
cmd |
str | 必须 | 需要执行的 Shell 命令 如: "ls -l" |
wait |
bool | True |
是否等待执行完成 设置为 False 时,本函数会立刻返回,并且不会返回终端输出 |
workdir |
str | None |
Shell 命令执行的工作目录 如: "/home/dev" |
envs |
dict | None |
环境变量,键和值都为字符串 如: {"MY_NAME": "Tom"} |
callback_url |
str | None |
回调地址,命令执行后,将stdout 和stderr 使用 POST 方式发送至指定 URL一般和 wait=False 参数一起使用,实现异步回调 |
timeout |
int | 3 |
请求超时时间 注意:本参数并不是 Shell 命令的超时时间,而是 Func 请求 Sidecar 的超时时间 即 Func 请求 Sidecar 可能会超时,但所执行的 Shell 命令并不会因此停止 |
执行后回调
调用SidecarHelper.shell(...)
并指定callback_url
参数后,Sidecar 会在执行完 Shell 命令后将标准输出stdout
和标准错误stderr
以 POST 方式发送至此地址。
具体结构如下:
Text Only | |
---|---|
1 2 3 4 5 6 7 8 9 |
|
此结构与 DataFlux Func 的「授权链接标准 POST 方式」匹配,可直接使用「授权链接」接收执行后的回调