Lewati ke isi

Pengembangan Skrip / Objek Konektor DFF.CONN / DataFlux Func Sidecar

Menggunakan objek operasi Konektor Sidecar memungkinkan pengguna memanggil Sidecar untuk menjalankan perintah Shell.

Parameter DFF.CONN(...) adalah sebagai berikut:

Parameter Tipe Wajib / Nilai Default Keterangan
connector_id str Wajib ID Konektor
timeout int/float 10 Waktu tunggu default permintaan HTTP untuk objek operasi saat ini, dalam detik

Panduan Sidecar

Untuk petunjuk penggunaan lengkap Sidecar, silakan merujuk ke Panduan Sidecar

.shell(...)

Memanggil Sidecar untuk menjalankan perintah Shell, dengan parameter sebagai berikut:

Parameter Tipe Wajib / Nilai Default Keterangan
cmd str Wajib Perintah Shell yang perlu dijalankan
Contoh: "ls -l"
wait bool True Apakah menunggu eksekusi selesai
Jika diatur ke False, fungsi ini akan langsung kembali dan tidak mengembalikan output terminal
workdir str None Direktori kerja untuk menjalankan perintah Shell
Contoh: "/home/dev"
envs dict None Variabel lingkungan, kunci dan nilai keduanya berupa string
Contoh: {"MY_NAME": "Tom"}
callback_url str None Alamat callback; setelah perintah dijalankan, stdout dan stderr dikirim ke URL yang ditentukan menggunakan metode POST
Biasanya digunakan bersama parameter wait=False untuk mengimplementasikan callback asinkron
timeout int/float None Waktu tunggu untuk permintaan ini
Catatan: Parameter ini bukan waktu tunggu perintah Shell, melainkan waktu tunggu permintaan Func ke Sidecar
Jika dihilangkan, nilai default objek operasi digunakan, yaitu 10 detik

Metode ini mengembalikan (status_code, result): status_code adalah kode status respons HTTP dari Sidecar, dan result adalah konten respons yang telah diurai. Jika kode status HTTP lebih besar dari atau sama dengan 400, pengecualian akan dilemparkan.

.call(...)

Mengirim permintaan HTTP bertanda tangan Konektor ke Sidecar, dengan parameter sebagai berikut:

Parameter Tipe Wajib / Nilai Default Keterangan
method str Wajib Metode permintaan HTTP; juga dapat ditulis sebagai "GET /path"
path str None Jalur permintaan yang diawali dengan /; jika dihilangkan, diambil dari method
query dict None Parameter kueri URL
body - None Badan permintaan; nilai non-string akan diserialisasi ke JSON terlebih dahulu
timeout int/float None Waktu tunggu untuk permintaan ini; jika dihilangkan, nilai default objek operasi digunakan

Nilai balik sama dengan .shell(...).

Callback Setelah Eksekusi

Setelah memanggil SidecarHelper.shell(...) dan menentukan parameter callback_url, Sidecar akan mengirimkan output standar stdout dan kesalahan standar stderr ke alamat ini menggunakan metode POST setelah perintah Shell selesai dijalankan.

Struktur spesifiknya adalah sebagai berikut:

Text Only
1
2
3
4
5
6
7
8
9
POST {callback_url}
Content-Type: application/json

{
  "kwargs": {
    "stdout": "<teks output standar>",
    "stderr": "<teks kesalahan standar>"
  }
}

Struktur ini cocok dengan metode POST standar API Fungsi DataFlux Func, dan Anda dapat langsung menggunakan API Fungsi untuk menerima callback setelah eksekusi