脚本开发 / 连接器对象 DFF.CONN / DataFlux Func Sidecar
使用 Sidecar 连接器操作对象允许用户调用 Sidecar 执行 Shell 命令。
DFF.CONN(...) 参数如下:
| 参数 | 类型 | 必须 / 默认值 | 说明 |
|---|---|---|---|
connector_id |
str | 必须 | 连接器 ID |
timeout |
int/float | 10 |
当前操作对象的默认 HTTP 请求超时时间,秒 |
Sidecar 手册
有关 Sidecar 的完整使用说明,请参考 Sidecar 手册
.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/float | None |
本次请求超时时间 注意:本参数并不是 Shell 命令的超时时间,而是 Func 请求 Sidecar 的超时时间 省略时使用操作对象的默认值,即 10 秒 |
本方法返回 (status_code, result):status_code 为 Sidecar 的 HTTP 响应状态码,result 为解析后的响应内容。HTTP 状态码大于等于 400 时抛出异常。
.call(...)
向 Sidecar 发送带连接器签名的 HTTP 请求,参数如下:
| 参数 | 类型 | 必须 / 默认值 | 说明 |
|---|---|---|---|
method |
str | 必须 | HTTP 请求方法;也可写为 "GET /path" |
path |
str | None |
以 / 开头的请求路径;省略时从 method 中拆分 |
query |
dict | None |
URL 查询参数 |
body |
- | None |
请求体;非字符串值会先序列化为 JSON |
timeout |
int/float | None |
本次请求超时时间,省略时使用操作对象的默认值 |
返回值与 .shell(...) 相同。
执行后回调
调用 SidecarHelper.shell(...) 并指定 callback_url 参数后,Sidecar 会在执行完 Shell 命令后将标准输出 stdout 和标准错误 stderr 以 POST 方式发送至此地址。
具体结构如下:
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
此结构与 DataFlux Func 的「函数 API」 标准 POST 方式 匹配,可直接使用「函数 API」接收执行后的回调