指令碼開發 / DataFlux Func Sidecar
使用 Sidecar 聯結器操作物件允許使用者呼叫 Sidecar 執行 Shell 命令。
DFF.CONN(...)
引數如下:
引數 | 型別 | 必須 / 預設值 | 說明 |
---|---|---|---|
connector_id |
str | 必須 | 聯結器 ID |
有關 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 | 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 的「函式 API」 標準 POST 方式 匹配,可直接使用「函式 API」接收執行後的回撥