Fungsi transformasi kustom dan operator logika
Anda dapat membuat fungsi transformasi berbasis Python kustom dan operator logis langsung dalam IDE dan menggunakannya di playbook untuk kasus penggunaan yang kompleks dan serbaguna.
Paket Ekstensi
Paket ekstensi adalah jenis integrasi khusus yang dirancang untuk bertindak sebagai penampung fungsi transformasi kustom dan operator logis. Tidak seperti integrasi standar, paket ekstensi tidak memerlukan konfigurasi instance dan dapat dibuat langsung dari IDE.
Praktik terbaik untuk paket ekstensi
- Konsolidasi: Buat satu paket ekstensi utama dan tambahkan beberapa fungsi transformasi atau operator logis ke dalamnya.
- Pemisahan: Buat paket ekstensi baru saat Anda memerlukan kumpulan library Python (dependensi) yang berbeda yang mungkin berkonflik dengan paket utama.
Membuat Paket Ekstensi
Untuk membuat paket ekstensi baru, ikuti langkah-langkah berikut:
- Buka Response > IDE.
- Klik tambahkan Buat Item Baru.
- Pilih Extension Pack dari drop-down.
- Berikan Nama unik untuk Paket Ekstensi.
- Klik Simpan.
Mengupload dependensi
Seperti integrasi standar, paket ekstensi berjalan di lingkungan virtual tempat Anda dapat mengelola library Python.
Untuk mengelola perpustakaan Anda, ikuti langkah-langkah berikut:
- Buka setelan Paket Ekstensi di IDE.
- Tambahkan library Python yang diperlukan dari PyPi atau upload dari komputer Anda.
Dependensi ini tersedia untuk semua transformer dan operator logis yang ada dalam paket ekstensi tertentu ini.
Impor dan Ekspor
Anda dapat mengimpor dan mengekspor paket ekstensi secara manual langsung dalam antarmuka IDE.
Transformer Kustom
Transformer Kustom adalah fungsi Python yang ditentukan pengguna yang memperluas fungsi bawaan di Pembuat Ekspresi. Anda dapat membuatnya langsung dalam IDE untuk mengekstrak dan memanipulasi data, dan dapat digunakan bersama fungsi bawaan yang ada.
Membuat transformer kustom
Untuk menentukan transformer kustom baru, ikuti langkah-langkah berikut:
- Di IDE, cari paket ekstensi target Anda.
- Pilih paket ekstensi target untuk menambahkan item baru di bawah paket.
- Pilih Custom Transformation Function.
- Beri nama.
- Opsional: Tambahkan deskripsi. Ini ditampilkan saat Anda mengarahkan kursor ke transformator kustom di Pembuat Ekspresi.
- Tentukan logika skrip menggunakan Python. Anda dapat menggunakan template default yang disediakan sebagai titik awal.
- Skrip harus menyertakan fungsi
mainseperti yang ditunjukkan dalam template standar. - Skrip harus menampilkan hasil ke builder ekspresi dengan
menggunakan fungsi
endSDK. - Input transformer kustom dapat berupa berbagai jenis
(misalnya, string atau daftar). Pastikan Anda mengonversinya ke jenis
yang diharapkan dalam fungsi
main. - Anda hanya dapat menggunakan sebagian kecil metode SDK dalam IDE untuk
transformer:
transformer.extract_param("ParamName"): Untuk mengambil nilai input.transformer.LOGGER: Untuk menulis log untuk proses debug.transformer.end(result): Untuk menampilkan nilai yang ditransformasi.
- Skrip harus menyertakan fungsi
- Buat parameter:
- Setiap fungsi transformer kustom menyertakan parameter Input default. Parameter ini mewakili data input, yang merupakan placeholder yang diterapkan fungsi. Anda tidak dapat menghapus parameter ini.
- Selain itu, Anda dapat menambahkan parameter opsional untuk digunakan dalam fungsi Anda.
- Dokumentasi (Opsional): Tentukan dokumentasi dalam produk untuk
Pembuat Ekspresi:
- Input yang Diharapkan: Jelaskan jenis data yang diharapkan diterima oleh fungsi untuk transformer ini (misalnya, "String" atau "List string").
- Output yang Diharapkan: Jelaskan jenis data yang diharapkan fungsi untuk ditampilkan untuk transformer ini (misalnya, "boolean").
- Contoh Penggunaan: Berikan contoh cara memanggil
fungsi (misalnya,
if_empty("new_value")).
Anda dapat menguji logika fungsi transformasi kustom secara langsung dalam IDE sebelum menggunakannya dalam playbook. Dengan begitu, Anda dapat memverifikasi bahwa skrip Python Anda menangani berbagai jenis dan parameter input dengan benar serta menampilkan hasil yang diharapkan.
Waktu habis
- Waktu Tunggu Default: 1 menit.
- Waktu Tunggu Maksimum: 3 menit.
Menggunakan transformer kustom di Pembuat Ekspresi
Setelah disimpan, transformer kustom akan muncul dalam daftar fungsi
Expression Builder bersama dengan fungsi bawaan. Hal tersebut diidentifikasi dengan format:
ExtensionPackName.TransformerName. Mengarahkan kursor ke fungsi akan menampilkan dokumentasi yang dihasilkan dari deskripsi parameter Anda.
Dukungan untuk semua placeholder (JSON dan non-JSON)
Pembuat Ekspresi mendukung setiap placeholder yang ditampilkan di Desainer Playbook, termasuk hasil non-JSON.
Untuk placeholder non-JSON:
- Anda dapat memasukkan data sampel secara manual ke dalam Pembuat Ekspresi untuk menguji logika terhadap berbagai jenis input: string, daftar (nilai yang dipisahkan koma), dan JSON.
- Pengujian dengan jenis input tidak menjamin bahwa placeholder akan menampilkan jenis tertentu tersebut saat runtime.
- Sebagian besar placeholder diselesaikan sebagai string, kecuali untuk jenis tertentu yang
diselesaikan sebagai string atau daftar berdasarkan jumlahnya (misalnya,
entity.identifier). Untuk jenis ini, sebaiknya selalu perlakukan input sebagai daftar.
Penanganan Error
Jika fungsi transformasi kustom mengalami error selama eksekusi, tindakan playbook yang menggunakan transformer tersebut akan gagal. Pesan error spesifik yang dihasilkan oleh skrip Python ditampilkan di layar dalam tampilan playbook run, sehingga Anda dapat memecahkan masalah logika secara langsung.
Operator Logis Kustom
Operator Logika Kustom memungkinkan Anda menentukan logika boolean sendiri untuk membandingkan nilai.
Membuat operator logika kustom
Untuk menentukan operator logika baru, ikuti langkah-langkah berikut:
- Di IDE, temukan Extension Pack target Anda.
- Pilih Operator Logika Kustom.
- Beri nama.
- Opsional: Tambahkan deskripsi untuk menu operator logika di Playbook Designer.
- Tentukan logika skrip menggunakan Python. Anda dapat menggunakan
template standar yang disediakan sebagai titik awal.
- Skrip harus menyertakan fungsi
main. - Skrip harus menampilkan hasil boolean ke kondisi dengan
menggunakan fungsi
endSDK. - Anda hanya dapat menggunakan subset metode SDK dalam IDE untuk operator logika:
logical_operator.extract_param("ParamName"): Untuk mengambil nilai input.logical_operator.LOGGER: Untuk menulis log untuk proses debug.logical_operator.end(result): Hasilnya adalah nilai boolean (trueataufalse).
- Skrip harus menyertakan fungsi
Anda dapat menguji logika operator logika kustom secara langsung dalam IDE. Hal ini memungkinkan Anda memasukkan nilai pengujian untuk argumen dan memverifikasi bahwa fungsi menampilkan hasil boolean (Benar atau Salah) yang benar berdasarkan kondisi yang Anda tentukan.
Parameter
Operator logika kustom menerima dua parameter: Sisi Kiri (wajib dan tidak dapat diedit) dan Sisi Kanan (opsional; dapat dinonaktifkan oleh pengguna).
- Contoh 1:
if [left side] not in [right side]. - Contoh 2:
if [left side] is greater than 80(tanpa sisi kanan).
Waktu habis
- Waktu Tunggu Default: 1 menit.
- Waktu Tunggu Maksimum: 3 menit.
Menggunakan di playbook
Operator logika kustom muncul di menu operator dalam Kondisi Playbook, Kondisi Tindakan Sebelumnya, dan Pemilihan Entitas.
Operator logika kustom dapat dipilih bersama operator standar (misalnya, "Sama dengan" atau "Berisi").
Penanganan Error
Jika fungsi operator logika kustom mengalami error selama eksekusi, kondisi atau langkah playbook yang menggunakan operator tersebut akan gagal. Pesan error yang ditampilkan oleh skrip Python ditampilkan dalam tampilan eksekusi playbook untuk membantu pemecahan masalah.
Batasan
- Fungsi transformasi kustom dan operator logika tidak didukung di Pemicu atau Webhook.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.