Topik ini menjelaskan cara membuat fungsi Aviator.
Prasyarat
-
Anda telah membuat alur kerja. Untuk informasi selengkapnya, lihat Create and manage a workflow.
-
Anda telah membeli grup sumber daya eksklusif untuk DataService Studio. Untuk informasi selengkapnya, lihat Use an exclusive resource group for DataService Studio.
CatatanFungsi Aviator harus dijalankan di grup sumber daya eksklusif untuk DataService Studio.
Latar Belakang
Di DataService Studio, Anda dapat membuat, menguji, dan men-deploy fungsi. Setelah di-deploy, fungsi tersebut dapat dikaitkan dengan API dan digunakan sebagai filter untuk memproses parameter permintaan atau data respons, sehingga memenuhi kebutuhan kueri kompleks dan beradaptasi dengan berbagai skenario bisnis. Untuk contoh kode penggunaan umum, lihat Best practices: Use an Aviator function as a filter.
Batasan
-
Fungsi Aviator harus dijalankan di grup sumber daya eksklusif untuk DataService Studio.
-
Saat menggunakan fungsi sebagai filter API, jenis fungsi untuk pre-filter dan post-filter harus sama. Artinya, Anda harus memilih jenis fungsi Aviator atau jenis fungsi Python untuk keduanya.
Catatan Penggunaan
Karena alasan keamanan dan kinerja, fungsi Aviator harus dijalankan di grup sumber daya eksklusif untuk DataService Studio. Oleh karena itu:
-
Saat mengedit atau menguji fungsi, Anda harus mengaitkan fungsi tersebut dengan grup sumber daya eksklusif untuk DataService Studio. Untuk informasi selengkapnya, lihat Manage a function.
-
Saat mengaktifkan filter dan mengaitkannya dengan fungsi target selama pengembangan API, Anda harus mengaitkan API tersebut dengan grup sumber daya eksklusif untuk DataService Studio. Untuk informasi selengkapnya, lihat Generate an API from a data source (API Gateway).
Struktur Fungsi
Fungsi Aviator menggunakan templat bawaan berikut. Untuk detail sintaksis, lihat Aviator function syntax.
## --- AviatorScript ---
## $0: nama default parameter input.
## Ekspresi harus dipisahkan oleh titik koma ";".
## Contoh 1:
## $0.a: Dapatkan atribut "a" dari parameter input "$0".
## $0.b[index]: Dapatkan elemen pada indeks tertentu dari array "b" dalam parameter input "$0". Indeks tidak boleh berupa ekspresi atau variabel.
## Contoh 2:
## Input: {"keyA":[1,2],"keyB":"value"}
## Fungsi: $0.keyA[0]=3; $0.keyB="new_value"; return $0;
## Output: {"keyA":[3,2],"keyB":"new_value"}
return $0;
Anda dapat memodifikasi fungsi berdasarkan templat ini.
-
Nama parameter input default untuk fungsi Aviator adalah
$0dan tidak dapat diubah. Anda dapat menggunakan$0untuk mendapatkan seluruh input fungsi. -
Di DataService Studio, fungsi berperan sebagai filter API untuk memproses parameter permintaan dan data respons. Oleh karena itu, input fungsi yang direpresentasikan oleh
$0merupakan objek JSON. Parameter permintaan diteruskan sebagai struktur JSON datar (kedalaman 1), sedangkan data respons sebagai struktur JSON bersarang (kedalaman N). -
Saat fungsi digunakan sebagai pre-filter API, sistem mengonversi parameter permintaan API atau output dari fungsi sebelumnya dari
key-value mapmenjadi objek JSON dan meneruskannya ke parameter$0. Nilai untuk setiap kunci dalam objek JSON tersebut harus berupa string. -
Saat fungsi digunakan sebagai pre-filter API, output-nya harus berupa
key-value map. Output ini berfungsi sebagai parameter input untuk eksekusi pernyataan SQL. Oleh karena itu, hanyakey-value mapdatar dengan kedalaman satu yang didukung.
Buka DataService Studio
Login ke DataWorks console. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to DataService Studio.
Buat Fungsi
-
Pada halaman Service Development, arahkan kursor ke ikon
lalu klik .Atau, cari alur kerja target, klik kanan Function, lalu pilih .
-
Pada kotak dialog Create Aviator Function, konfigurasikan parameter-parameter berikut.
Parameter
Deskripsi
Function Name
Nama unik untuk fungsi, panjang maksimal 256 karakter.
Function Template
Hanya AviatorScript Standard v1 yang didukung.
Function Description
Deskripsi singkat fungsi, panjang maksimal 512 karakter.
Location
Direktori tujuan untuk fungsi.
CatatanPilih alur kerja, folder, atau kategori fungsi tertentu. Jika belum ada alur kerja, buat terlebih dahulu.
-
Klik Determine.
-
Pada area Edit Code, masukkan kode fungsi.
-
Konfigurasikan kelompok sumber daya.
-
Di panel kanan halaman pengeditan fungsi, klik Resource Group for DataService Studio. Pada bagian Resource Group Type, konfigurasikan jenis kelompok sumber daya untuk panggilan API.
Anda hanya dapat memilih grup sumber daya eksklusif untuk DataService Studio.
CatatanJika Anda tidak dapat memilih nama kelompok sumber daya target dari daftar, buka DataWorks console dan ikat kelompok sumber daya ke ruang kerja Anda melalui Modify Workspace Ownership. Anda juga dapat mengklik Purchase Exclusive Resource Group for DataService Studio untuk membeli yang baru. Untuk informasi selengkapnya, lihat Use an exclusive resource group for DataService Studio.
-
Pada bagian Environment Configuration, Anda dapat mengatur Memory dan Timeout.
Waktu timeout fungsi yang disarankan adalah 100 ms atau kurang untuk grup sumber daya eksklusif untuk DataService Studio.
-
-
Klik ikon
di bilah alat untuk menyimpan fungsi.
Setelah membuat fungsi, Anda dapat mengujinya dan men-deploy-nya untuk digunakan sebagai pre-filter atau post-filter API.
Langkah Berikutnya
-
Setelah membuat fungsi, Anda dapat mengujinya dan men-deploy-nya. Untuk informasi selengkapnya, lihat Test, deploy, and use a function dan Deploy a function.
-
Setelah men-deploy fungsi, Anda dapat mengaitkannya dengan API dan menggunakannya sebagai pre-filter atau post-filter untuk memproses parameter permintaan dan data respons. Untuk informasi selengkapnya, lihat Use a function as an API filter.