腳本開發 / 連接器對象 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」接收執行後的回調