ESA points of presence (POPs) menyediakan lingkungan serverless untuk menjalankan kode Anda. Anda dapat menulis kode dan mengonfigurasi aturan pemicu tanpa perlu mengonfigurasi server atau mengelola infrastruktur. Kode Anda dapat diskalakan secara elastis dan berjalan secara aman pada POP yang dekat dengan pengguna Anda, sehingga secara signifikan mengurangi biaya O&M dan meningkatkan kecepatan respons.
Langkah 1: Buat fungsi
Masuk ke Konsol ESA. Di panel navigasi sebelah kiri, pilih .
Pada halaman Functions and Pages, klik Create.
Klik tab Function Templates, pilih templat fungsi sesuai kebutuhan, lalu klik Next.

Masukkan Routine Name dan Description, pratinjau detail kode, lalu klik Submit.

Setelah proses build sistem selesai, sebuah nama domain publik akan dihasilkan untuk mengakses fungsi tersebut. Anda dapat menggunakan nama domain ini untuk langsung mengakses dan melihat pratinjau hasilnya. Untuk mengikat nama domain kustom, lihat Cara mengikat nama domain kustom.


Langkah 2: Kembangkan dan uji fungsi
Anda dapat memodifikasi kode fungsi dan mengujinya secara lokal sesuai kebutuhan. Setelah itu, terapkan kode ke lingkungan pengujian. Pantau terus status dan performa eksekusinya untuk memastikan stabilitas dan kebenaran.
Klik Associate Domain Name, lalu pilih tab Code. Anda dapat mengembangkan fungsi menggunakan sintaksis
JavaScript ES6.

ESA menyediakan lingkungan staging di sebelah kanan alat pengembangan kode di konsol. Setelah selesai mengembangkan kode, klik Save. Di bilah alat sebelah kanan, susun metode permintaan HTTP, header permintaan, dan badan permintaan. Setelah penyusunan selesai, klik tombol Request. Konsol akan langsung mengembalikan respons setelah permintaan diproses oleh fungsi.
Setelah menguji kode, klik Generate Version.
Pilih tab Deploy dan klik Release. Pada kotak dialog yang muncul, pilih Staging Environment untuk mempublikasikan versi tersebut. Fungsi akan berlaku pada POP pengujian edge. Anda dapat langsung mengikat
Hostuntuk mengirim permintaan dari klien nyata dan melihat hasilnya di klien tersebut.
Langkah 3: Publikasikan versi resmi
Setelah fungsi berjalan stabil di lingkungan pengujian dan lolos verifikasi, Anda dapat mempublikasikan kode fungsi ke lingkungan produksi.
Pilih tab Deploy dan klik Released Versions.
Klik Production Environment, pilih versi yang akan dipublikasikan, lalu klik Release. Semua POP di lingkungan produksi kemudian akan menerapkan versi kode fungsi tersebut.

Cara mengikat nama domain kustom
Anda dapat mengikat nama domain ke fungsi untuk meneruskan seluruh traffic dari nama domain tertentu ke fungsi tersebut. Misalnya, jika Anda mengikat er.example.com ke suatu fungsi, semua permintaan ke nama domain tersebut akan ditangani oleh fungsi tersebut. Anda juga dapat mengonfigurasi aturan path URL melalui routing fungsi untuk meneruskan traffic dari path tertentu di bawah suatu nama domain ke fungsi tersebut. Sebagai contoh, Anda dapat mengarahkan permintaan untuk er.example.com/test/path/ ke fungsi guna mencapai pengalihan lalu lintas yang fleksibel dan detail halus.
Prasyarat
Pastikan Anda telah menambahkan website target di ESA dan status situs aktif.
Untuk mengakses fungsi edge melalui HTTPS, pastikan sertifikat SSL/TLS yang valid telah dikonfigurasi.
Langkah-langkah pengikatan
Pada halaman Functions and Pages, pilih fungsi yang telah Anda buat.

Pilih tab Domain Names. Anda dapat meneruskan traffic dari nama domain ke fungsi dengan menambahkan nama domain atau aturan routing.
Tambahkan nama domain
Setelah Anda mengikat nama domain ke fungsi, Anda dapat langsung menggunakan nama domain tersebut untuk mengakses fungsi.
Sebagai contoh, jika Anda telah menambahkan situs
example.comdi ESA, Anda dapat mengikat nama domain sebagaier.example.com. Maka, permintaan keer.example.com,er.example.com/user, daner.example.com/loginakan diteruskan ke fungsi edge.Pada bagian Custom Domains, klik Add Domain Name.
Masukkan nama domain dan klik OK.

CatatanUntuk nama domain yang terhubung menggunakan Rekaman NS: Setelah Anda mengikat nama domain, sistem secara otomatis menambahkan Rekaman DNS untuk fungsi tersebut.
Untuk nama domain yang terhubung menggunakan Rekaman CNAME: Setelah Anda mengikat nama domain, nilai CNAME akan dihasilkan secara otomatis. Anda harus menambahkan secara manual Rekaman CNAME melalui penyedia layanan resolusi nama domain Anda untuk situs saat ini.
Tambahkan entri rute
Fitur routing memungkinkan Anda memetakan URL tertentu ke suatu fungsi. Ketika permintaan sesuai dengan URL yang dikonfigurasi, fungsi akan memproses permintaan tersebut. Jika tidak, permintaan akan dilanjutkan melalui alur back-to-origin yang dipercepat oleh ESA. Seperti yang ditunjukkan pada gambar berikut, jika Anda mengonfigurasi aturan routing
example.com/a*untuk situsexample.com, semua akses path yang sesuai dengan aturan routing tersebut—seperti/a,/a1, dan/a2—akan diproses oleh fungsi. Akses path lain yang tidak sesuai dengan aturan routing—seperti/b,/c, dan/d—akan tetap mengikuti alur back-to-origin atau caching yang dipercepat.Pada bagian Routes, klik Add Route.
Masukkan Route Name dan pilih situs target dari daftar Select Website, misalnya
example.com.Pilih Route Mode.
Simple mode
Masukkan Route Name dan pilih situs target.
Pilih SImple Mode dan masukkan aturan routing.

Custom mode
Masukkan Route Name dan pilih situs target.
Pilih Custom Mode.
Pada bagian If requests match..., atur fitur permintaan yang akan dicocokkan. Untuk informasi lebih lanjut tentang cara mengonfigurasi aturan, lihat Rule expression components.
Then, execute fungsi edge.

Contoh 1: Jika Anda mengatur rute menjadi
*.example.com/*, semua permintaan yang dikirim kehttp://www.example.com/atauhttp://example.com/akan diteruskan ke fungsi.Contoh 2: Jika Anda mengatur rute menjadi
example.com/a*, semua permintaan yang dikirim kehttp://example.com/a,http://example.com/a1, atauhttp://example.com/apiakan diteruskan ke fungsi.Contoh 3: Jika Anda mengatur rute menjadi
www.example.com/api/*, semua permintaan yang dikirim kehttp://www.example.com/api/dan subpath-nya—sepertihttp://www.example.com/api/usersatauhttp://www.example.com/api/products/123—akan diteruskan ke fungsi.
Klik OK.
CatatanJika rute yang Anda masukkan adalah nama domain dengan awalan, seperti
*.example.comatauwww.example.com, Anda juga harus menambahkan catatan secara manual ke Rekaman DNS di ESA. Jika tidak, akses akan gagal.Jika beberapa rute fungsi dikonfigurasi, sistem akan memeriksanya dari atas ke bawah. Saat ditemukan kecocokan, sistem akan berhenti memeriksa rute yang tersisa.
Aturan pencocokan
Konfigurasi rute harus mencakup hostname domain dan URI path. Oleh karena itu, Anda tidak dapat mengonfigurasi aturan routing yang hanya berisi URI path, seperti
/path.Anda dapat menambahkan karakter wildcard (
*) di awal atau akhir konfigurasi rute untuk mencocokkan lebih banyak permintaan. Karakter wildcard*dapat mencocokkan nol atau lebih karakter apa pun. Sebagai contoh,example.com/*mencocokkan semua permintaan keexample.com.Konfigurasi rute bersifat case-sensitive. Sebagai contoh,
example.com/adanexample.com/Aadalah dua aturan routing yang berbeda.Anda tidak dapat menempatkan karakter wildcard (
*) atau parameter di tengah rute. Sebagai contoh, format sepertiexample.com/*/pathdanexample.com/path?param=1tidak diizinkan.Ketika permintaan akses sesuai dengan beberapa konfigurasi rute, aturan yang dikonfigurasi lebih awal memiliki prioritas lebih tinggi.