スクリプト開発 / コネクターオブジェクト 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 |
コールバック URL。コマンド実行後、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 方式でこの URL に送信します。
具体的な構造は次のとおりです:
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
この構造は DataFlux Func の「関数 API」 標準 POST 方式 と一致するため、「関数 API」を直接使用して実行後のコールバックを受信できます