Edge Security Acceleration (ESA) menyediakan command-line interface (CLI) tool yang dapat digunakan untuk mengelola seluruh siklus hidup Functions and Pages, melakukan debug fungsi, serta menerapkan proyek multi-file.
Pendahuluan
CLI ESA memungkinkan Anda menyelesaikan tugas-tugas berikut:
Mengelola seluruh siklus hidup Functions and Pages secara lokal, termasuk membuat Functions and Pages, menerbitkan dan menerapkan versi, serta mengelola nama domain kustom atau entri rute.
Melakukan debug fungsi di lingkungan jaringan lokal atau jaringan pribadi. CLI akan menjalankan layanan debugging lokal untuk mensimulasikan lingkungan produksi guna pengujian fungsional.
Menerapkan proyek yang terdiri dari beberapa file. CLI secara otomatis memaketkan dan membangun dependensi proyek, seperti file npm, sehingga memungkinkan penerapan proyek Node.js lokal ke cloud.
Perintah umum
CLI ESA menyediakan berbagai perintah untuk mengelola Functions and Pages. Untuk informasi selengkapnya mengenai semua perintah, kunjungi https://github.com/aliyun/alibabacloud-esa-cli.
Command | Description |
init | Inisialisasi proyek dari templat ESA. |
dev | Mulai layanan debugging lokal secara otomatis. |
commit | Komit kode proyek ke cloud dan simpan sebagai versi. |
deploy | Terapkan versi ke semua titik keberadaan online (POPs). |
deployments | Lihat penerapan versi saat ini atau hapus versi tertentu. |
project | Lihat semua Functions and Pages, atau hapus fungsi tertentu. |
site | Lihat informasi mengenai semua situs di bawah akun Anda. |
domain | Kelola nama domain yang dilampirkan ke Functions and Pages. |
route | Kelola entri rute yang dilampirkan ke Functions and Pages. |
login | Login ke akun Anda menggunakan ID AccessKey dan Rahasia AccessKey. |
logout | Logout. |
config | Kelola file konfigurasi untuk CLI ESA. |
lang | Pilih bahasa untuk CLI ESA. |
Prasyarat
Sebelum menginstal CLI ESA, Anda harus menginstal Node.js dan npm. Kami merekomendasikan penggunaan manajer versi Node, seperti Volta atau nvm, untuk instalasi tersebut.
Gunakan CLI ESA
Instal CLI ESA menggunakan npm, lalu periksa versi CLI dan perintah-perintah yang didukung.
npm install esa-cli -g # Install the CLI globally esa-cli -v # View the CLI version esa-cli --help # View the CLI commandsLog on to your account: Dapatkan
AccessKey IDdanAccessKey secretdari Alibaba Cloud Resource Access Management (RAM) console, lalu jalankan perintahesa loginuntuk login ke akun Anda. Jika hanya menggunakan CLI untuk debug kode secara lokal, Anda tidak perlu login.esa-cli login # Log on esa-cli logout # Log offInitialize a project: Untuk menginisialisasi proyek, masukkan nama proyek, pilih templat, dan ikuti prompt dari perintah inisialisasi hingga proses selesai.
esa-cli initDebug locally: Setelah menulis kode, Anda dapat melakukan debug secara lokal menggunakan CLI. Saat menjalankan perintah
esa-cli dev, file entri akan dikemas secara otomatis dan layanan debugging lokal dimulai.
Petunjuk dasar:
Tekan
bpada antarmuka untuk membuka halaman debug di browser Anda.Tekan
duntuk melihat panduan debug. Catatan: Chrome tidak mengizinkan baris perintah membuka halaman debug. Di browser Chrome, buka halamanChrome://inspect#devices. Target jarak jauh (Remote Target) yang sedang berjalan akan muncul. Klikinspectdi bawahnya untuk melihat informasi konsol. Perlu diperhatikan bahwa kode EdgeRoutine adalah kode sisi server. Oleh karena itu, konsol pada halaman pratinjau tidak menampilkan output dariconsolepada file entri. Anda harus menggunakaninspectuntuk debugging.Tekan
cuntuk membersihkan panel.Tekan
xuntuk keluar dari sesi debugging.Gunakan
esa-cli dev --port <port>untuk menentukan port secara sementara.
Saat melakukan debug secara lokal, Anda juga dapat menjalankan Edge Storage API dan Cache API dalam kode Anda.
CatatanDemi keamanan data online Anda, layanan edge storage tidak mengambil atau menyetel data online selama debugging lokal. Untuk mensimulasikan data secara lokal, buat file
kv.jsondi direktori root proyek fungsi, pada level yang sama dengan file konfigurasiesa.jsonc. Tuliskan data ke dalam file tersebut dengan format berikut:{ "namespace": { "k1": "v1", "k2": "v2" } }Kode berikut kemudian dapat mengambil data simulasi tersebut:
const edgeKv = new EdgeKV({ namespace: 'namespace' }); async function run() { const data = await edgeKv.get('k1', { type: 'text' }); console.log(data); // 'v1' }
Generate a version: Setelah debugging lokal selesai, hasilkan versi kode untuk penerapan.
esa-cli commit # Generate a versionDeploy online: Setelah versi dihasilkan, gunakan perintah penerapan untuk menerapkan versi tersebut ke titik keberadaan cloud publik (POPs).
esa-cli deploy # Ikuti prompt untuk memilih versi dan lingkungan target yang akan diterapkan esa-cli deployments list # Lihat status penerapan esa-cli deployments delete <versionId> # Hapus versi tertentuManage custom domains or routes:
Setelah diterapkan ke titik keberadaan (POPs), Anda dapat mengonfigurasi nama domain kustom atau entri rute untuk mengakses Functions and Pages Anda:
Domain name: Lampirkan nama domain ke Functions and Pages Anda. Nama domain tersebut harus merupakan subdomain dari situs ESA Anda. Hal ini memungkinkan akses langsung ke fungsi melalui nama domain tersebut. Dalam kasus ini, Functions and Pages bertindak sebagai origin server untuk nama domain tersebut.
Route: Lampirkan entri rute ke situs ESA Anda. Mengakses entri rute tersebut akan memicu eksekusi Functions and Pages. Dalam kasus ini, Functions and Pages dapat berkomunikasi dengan origin server situs tersebut.
# Domain name esa-cli domain list esa-cli domain add <domainName> # Harus berupa nama domain dengan pengisian ICP esa-cli domain delete <domainName> # Route esa-cli route list esa-cli route add [route] [site] esa-cli route delete <route>Manage functions: Lihat dan hapus fungsi menggunakan CLI.
esa-cli project list # Lihat fungsi esa-cli project delete <PROJECT_NAME> # Hapus fungsi