DataService Studio memungkinkan Anda membuat API baik dalam Wizard Mode maupun Script Mode. Script Mode menawarkan fleksibilitas lebih tinggi dibanding Wizard Mode, sehingga Anda dapat menulis kueri SQL kustom untuk operasi kompleks seperti penggabungan multi-tabel, kueri lanjutan, dan fungsi agregat.
Prasyarat
-
Sebelum mengonfigurasi API, Anda harus mengonfigurasi sumber data di halaman . Untuk informasi selengkapnya, lihat Konfigurasikan sumber data.
-
Siapkan kelompok sumber daya untuk DataService Studio. Kami merekomendasikan penggunaan kelompok sumber daya serverless di lingkungan produksi. Untuk informasi selengkapnya, lihat Kelompok sumber daya dan konektivitas jaringan.
DataService Studio
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to DataService Studio.
Buat API
-
Di halaman Service Development, arahkan kursor ke ikon
, lalu klik .Atau, buka proses bisnis, klik kanan API, lalu pilih .
-
Pada kotak dialog Generate API, konfigurasikan parameter berikut.
Parameter
Deskripsi
API Mode
Opsi yang tersedia adalah Wizard Mode dan Code Editor. Pilih Code Editor.
SQL Mode
Opsi yang tersedia adalah Basic SQL dan Advanced SQL.
-
Basic SQL: Tulis logika kueri menggunakan sintaks SQL dasar. Sintaks ini kompatibel dengan versi SQL sebelumnya.
-
Advanced SQL: Tulis logika kueri menggunakan sintaks SQL yang mendukung tag MyBatis. Tag yang didukung meliputi:
if,choose,when,otherwise,trim,foreach, danwhere.
API Name
Nama harus terdiri dari 4 hingga 50 karakter, hanya boleh berisi karakter Tionghoa, huruf, angka, dan garis bawah (_), serta harus dimulai dengan karakter Tionghoa atau huruf.
APIPath
Jalur tempat API disimpan. Contohnya, /user.
Protocol
Protokol yang didukung adalah HTTP dan HTTPS.
Untuk memanggil API melalui HTTPS, publikasikan API tersebut ke API Gateway, lalu bind nama domain kustom dan unggah sertifikat SSL di konsol API Gateway. Untuk informasi selengkapnya, lihat Aktifkan HTTPS.
Request Method
Metode yang didukung adalah GET dan POST.
CatatanJika Request Method adalah GET, Parameter location hanya dapat berupa QUERY. Jika Request method adalah POST, Parameter location dapat berupa Body atau Body.
Response Type
Hanya format JSON yang didukung.
Visible Scope
Opsi yang tersedia adalah Work space dan Private.
-
Work space: API terlihat oleh semua anggota ruang kerja.
-
Private: API hanya terlihat oleh pemiliknya, yang tidak dapat memberikan izin kepada anggota lain.
CatatanJika Anda mengatur cakupan visibilitas ke Private, hanya Anda yang dapat melihat API tersebut di pohon direktori.
Tag
Pilih tag dari daftar Tag. Untuk informasi selengkapnya, lihat Buat dan kelola tag API.
CatatanNama tag dapat berisi karakter Tionghoa, huruf, angka, dan garis bawah (_). Anda dapat menambahkan hingga lima tag, dan setiap tag dapat memiliki panjang maksimal 20 karakter.
Description
Berikan deskripsi singkat tentang API. Deskripsi dapat mencapai 2.000 karakter.
Location
Direktori tempat API disimpan.
-
-
Klik Determine.
Konfigurasikan API
1. Pilih tabel
Klik ganda API untuk membuka halaman editnya. Di bagian Table, konfigurasikan parameter seperti Data Source Type, Data Source Name, dan Data Source Environment.
Parameter yang diperlukan bergantung pada jenis sumber data. Lihat antarmuka pengguna untuk detailnya.
-
Anda harus mengonfigurasi sumber data di . Anda dapat mencari tabel berdasarkan namanya di daftar drop-down tabel data.
-
Anda harus memilih sumber data. Kueri join hanya didukung untuk tabel dalam sumber data yang sama.
-
Untuk ruang kerja mode standar, Anda dapat memilih sumber data pengembangan atau produksi untuk parameter Data Source Environment. Untuk informasi selengkapnya, lihat Perbedaan antara ruang kerja mode dasar dan mode standar.
-
Untuk tabel dalam sumber data MaxCompute, Anda dapat menggunakan Acceleration Service dari DataService Studio atau layanan MCQA dari MaxCompute untuk mempercepat kueri. Untuk menggunakan Acceleration Service, Anda harus terlebih dahulu membuat item akselerasi. Untuk informasi selengkapnya, lihat Acceleration Service.
2. Tulis kueri SQL
Di bagian Edit Query SQL, masukkan pernyataan kueri SQL.
-
Jika Anda memilih mode Basic SQL, hanya sintaks SQL dasar yang didukung.
SELECT name, addr AS address, SUM(num) as total_num FROM table_name WHERE user_id =${uid}CatatanBidang dalam klausa SELECT menentukan parameter respons API. Parameter dalam klausa WHERE menentukan parameter permintaan API. Gunakan format
${}untuk mengidentifikasi parameter permintaan.Ikuti aturan berikut saat menulis pernyataan SQL:
-
Kueri satu tabel, kueri join multi-tabel, dan kueri bersarang dalam sumber data yang sama didukung.
-
Hal-hal berikut tidak didukung:
-
Beberapa pernyataan SQL.
-
Komentar.
-
Pernyataan non-SELECT, seperti INSERT, UPDATE, dan DELETE.
-
Pernyataan
SELECT *. Anda harus secara eksplisit menentukan kolom yang akan dikueri. -
Jangan membungkus variabel ${param} dalam tanda kutip. Misalnya,
'${id}'dan'abc${xyz}123'tidak didukung. Untuk melakukan hal ini, gunakan fungsiconcat('abc', ${xyz}, '123'). -
Parameter opsional.
-
-
Jika nama kolom dalam klausa SELECT diawali dengan nama tabel (misalnya, t.name), Anda harus menentukan alias untuk parameter respons (misalnya, t.name as name).
-
Jika Anda menggunakan fungsi agregat (seperti min, max, sum, atau count), Anda harus menentukan alias untuk parameter respons. Contohnya,
sum(num) as total_num. -
Variabel ${param} dalam pernyataan SQL, termasuk yang berada dalam string, akan diganti dengan parameter permintaan. Ketika variabel ${param} diawali dengan backslash (\), variabel tersebut diperlakukan sebagai string literal.
-
-
Jika Anda memilih mode Advanced SQL, tag MyBatis didukung.
SELECT id, name, create_name FROM t_parameter <where> <if test="'list!=null'"> id in ( <foreach collection="list" open="(" close=")" separator="," item="id_num"> ${id_num} </foreach> ) </if> </where>Tag MyBatis yang didukung dalam Advanced SQL adalah if, choose, when, otherwise, trim, foreach, dan where. Anda dapat menggunakan tag-tag ini untuk menerapkan logika kueri kompleks, seperti pemeriksaan nilai null, traversal multi-nilai, kueri tabel dinamis, pengurutan dinamis, dan agregasi. Untuk contoh kode dalam skenario umum, lihat Contoh Advanced SQL (sintaks MyBatis).
Saat menggunakan karakter khusus dalam tag MyBatis, Anda harus melakukan escape karakter tersebut. Tabel berikut mencantumkan karakter escape umum.
Karakter khusus
Karakter escape
Deskripsi
>
>
Lebih besar dari
>=
>=
Lebih besar dari atau sama dengan
<
<
Kurang dari
<=
<=
Kurang dari atau sama dengan
&
&
Dan
'
'
Tanda kutip tunggal
"
"
Tanda kutip ganda
3. Konfigurasikan parameter permintaan
Di panel kanan halaman edit API, klik Request Parameters dan konfigurasikan parameter tersebut.
Jika Anda menggunakan mode Advanced SQL, tambahkan secara manual semua parameter permintaan dari skrip SQL ke daftar. Hal ini memastikan dokumentasi API secara akurat mencerminkan parameter yang diperlukan.
-
Sebelum melihat pratinjau hasil, atur nilai contoh, nilai default, dan deskripsi untuk parameter API.
-
Untuk kinerja yang lebih baik, tetapkan bidang indeks sebagai parameter permintaan.
|
Parameter |
Deskripsi |
|
Parameter Name |
Nama parameter permintaan. Nama dapat memiliki panjang hingga 64 karakter, harus dimulai dengan huruf, dan dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-). |
|
Parameter Type |
Tipe data yang didukung adalah STRING, INT, LONG, FLOAT, Double, dan Boolean. |
|
Parameter Position |
Opsi yang tersedia adalah QUERY dan Body. Catatan
Saat Anda memilih Body sebagai lokasi untuk satu atau beberapa parameter, Anda juga harus mengatur Content-Type untuk parameter tersebut di Body guna menentukan format pengiriman parameter dalam badan permintaan. Nilai Content-Type yang didukung adalah:
|
|
Required |
Menentukan apakah parameter permintaan wajib diisi. |
|
Sample Value |
Nilai contoh untuk parameter permintaan. |
|
Default Value |
Nilai default parameter permintaan. |
|
Description |
Deskripsi singkat tentang parameter permintaan. |
4. Konfigurasikan parameter respons
Di panel kanan halaman edit API, klik Response Parameters dan konfigurasikan parameter tersebut.
-
Konfigurasikan parameter respons.
Jika Anda menggunakan mode Advanced SQL, tambahkan secara manual semua parameter respons dari skrip SQL ke daftar. Hal ini memastikan dokumentasi API secara akurat mencerminkan data yang dikembalikan.
Parameter
Deskripsi
Parameter Name
Nama parameter respons. Nama dapat memiliki panjang hingga 64 karakter, harus dimulai dengan huruf, dan dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-).
Parameter Type
Tipe data yang didukung adalah STRING, INT, LONG, FLOAT, Double, dan Boolean.
Sample Value
Nilai contoh untuk parameter respons.
Description
Deskripsi singkat tentang parameter respons.
-
Di bagian Advanced Settings, tentukan apakah akan mengaktifkan Pagination for Return Results.
-
Jika Anda tidak mengaktifkan Pagination for Return Results, API secara default mengembalikan maksimal 2.000 catatan.
-
Aktifkan Pagination for Return Results jika API kemungkinan mengembalikan lebih dari 2.000 hasil. Setelah diaktifkan, Anda dapat membuka halaman Resource Group for DataService Studio di panel navigasi kanan untuk mengatur jumlah maksimum entri per halaman berdasarkan jenis kelompok sumber daya.
CatatanJika Pagination for Return Results diaktifkan di tab Response Parameters pada halaman edit API, dan Anda menggunakan pernyataan SQL dengan klausa
LIMITdi bagian Edit Query SQL, klausaLIMITakan diabaikan, dan jumlah hasil yang dikembalikan ditentukan oleh pengaturan Pagination for Return Results.Setelah Anda mengaktifkan pagination, parameter umum berikut akan ditambahkan secara otomatis:
-
Parameter permintaan umum
-
returnTotalNum: menentukan apakah akan mengembalikan jumlah total catatan data dalam satu permintaan.
-
pageNum: nomor halaman saat ini.
-
pageSize: jumlah entri per halaman.
-
-
Parameter respons umum
-
pageNum: nomor halaman saat ini.
-
pageSize: jumlah entri per halaman.
-
totalNum: jumlah total catatan.
-
CatatanAPI dapat tidak memiliki parameter permintaan, tetapi dalam kasus tersebut, Anda harus mengaktifkan Pagination for Return Results.
-
5. Konfigurasikan filter
Jika Anda perlu melakukan pra-pemrosesan parameter permintaan atau pasca-pemrosesan hasil kueri, klik Filter di panel navigasi sisi kanan pada halaman pengeditan API. Pilih Use Pre-filter atau Use Post-filter sesuai kebutuhan. Selanjutnya, pilih Function Type, lalu pilih satu atau beberapa fungsi dari daftar drop-down pra-filter atau pasca-filter. Fungsi-fungsi tersebut dieksekusi sesuai urutan penambahannya. Setelah konfigurasi selesai, klik Preview Responses Returned by API Operation untuk memverifikasi apakah hasilnya sesuai ekspektasi. Untuk informasi selengkapnya tentang cara membuat dan menggunakan filter, lihat Membuat fungsi Aviator dan Membuat fungsi Python.
-
Menggunakan fungsi Python sebagai filter memerlukan DataWorks Edisi Profesional atau edisi yang lebih tinggi serta Shared Resource Group for DataService Studio.
-
Menggunakan fungsi Aviator sebagai filter tidak memerlukan edisi DataWorks tertentu, tetapi memerlukan Exclusive Resource Group for DataService Studio.
-
Jika fungsi target tidak ditemukan di daftar drop-down filter, periksa apakah fungsi tersebut telah dipublikasikan, atau coba buat dan publikasikan fungsi baru. Untuk informasi selengkapnya, lihat Publikasikan fungsi.
6. Konfigurasikan kelompok sumber daya layanan
-
Di panel navigasi kanan halaman edit API, klik Resource Group for DataService Studio. Di bagian Resource Group Type, konfigurasikan jenis kelompok sumber daya yang akan digunakan saat memanggil API.
Anda dapat memilih Exclusive Resource Group for DataService Studio atau Shared Resource Group for DataService Studio. Untuk Exclusive Resource Group for DataService Studio, Anda dapat memilih nama kelompok sumber daya target dari daftar. Shared Resource Group for DataService Studio dikelola secara otomatis oleh DataWorks dan tidak dapat dipilih berdasarkan nama.
Catatan-
Jika nama kelompok sumber daya target tidak ada dalam daftar, buka halaman Resource Groups, temukan kelompok sumber daya tersebut, lalu klik Associate Workspace di kolom Operation.
-
Jika kelompok sumber daya target ada dalam daftar tetapi tidak dapat dipilih, buka halaman Resource Groups, temukan kelompok sumber daya tersebut, lalu di kolom Operation, klik . Atur secara manual Occupied CUs (untuk kelompok sumber daya bayar sesuai penggunaan) atau Minimum CUs (untuk kelompok sumber daya langganan) untuk tujuan Data Services.
-
-
Di area Environment Configuration, Anda dapat mengatur Memory, Timeout, dan Maximum Number of Data Records for a Single Request.
-
Waktu timeout maksimum bergantung pada jenis kelompok sumber daya layanan DataWorks dan instans API Gateway yang dipilih:
-
instans API Gateway bersama: hingga 30.000 ms untuk Shared Resource Group for DataService Studio, dan hingga 30.000 ms untuk Exclusive Resource Group for DataService Studio.
-
instans API Gateway khusus: hingga 30.000 ms untuk Shared Resource Group for DataService Studio, dan hingga 90.000 ms untuk Exclusive Resource Group for DataService Studio.
CatatanWaktu respons API bergantung pada waktu eksekusi SQL-nya. Untuk mencegah kegagalan permintaan, atur Timeout API ke nilai yang lebih besar daripada waktu eksekusi yang diharapkan.
-
-
Jumlah maksimum entri per halaman bergantung pada jenis kelompok sumber daya layanan yang dipilih:
-
Jika Anda memilih Shared Resource Group for DataService Studio, jumlah maksimum catatan data per halaman dengan pagination diaktifkan adalah 2.000.
-
Jika Anda memilih Exclusive Resource Group for DataService Studio, jumlah maksimum catatan data per halaman dengan pagination diaktifkan adalah 10.000.
CatatanTidak ada batas atas jumlah total hasil yang dapat dikembalikan oleh API.
-
-
7. Simpan dan kirim
Klik ikon
Save di bilah alat. Setelah Anda menyimpan API, kelompok sumber daya yang dipilih akan digunakan untuk pengujian.
Langkah selanjutnya
-
Uji dan publikasikan:
-
Setelah mengonfigurasi API, Anda dapat mengujinya. Untuk informasi selengkapnya, lihat Uji API.
-
Setelah pengujian berhasil, klik Submission di pojok kanan atas.
-
Di halaman edit API, klik Version di panel navigasi kanan. Temukan versi yang ingin dipublikasikan dan klik Request to Publish. Di halaman aplikasi, jenis aplikasi secara default adalah Publish API in DataService Studio. Masukkan Application Reason dan klik Requested Permissions untuk mengirim permintaan Anda.
CatatanJika ruang kerja Anda di DataWorks Approval Center dikonfigurasi dengan alur persetujuan, permintaan harus disetujui sebelum API dapat dipublikasikan. Untuk informasi selengkapnya, lihat Ikhtisar Approval Center.
-
Setelah API dipublikasikan, pengaturan untuk kelompok sumber daya DataService Studio berlaku untuk semua panggilan API.
-
-
Kelola API: Di halaman Service Development, Anda dapat mengelola API dengan mengkloning atau menghapusnya dari pohon direktori. Di halaman Service Management, Anda dapat memperluas daftar API untuk melihat detail API yang telah dipublikasikan. Untuk informasi selengkapnya, lihat Lihat, hapus, pindahkan, kloning, lakukan operasi batch, dan cari API berdasarkan kode.
> Manage Quota