Topik ini menjelaskan operasi API bawaan dari EdgeRoutine (ER).
Konstruktor
Mengoper parameter namespace untuk membuat objek key-value tepi.
- Syntax
const edgeKv = new EdgeKV({ namespace: "ns"}); - Parameter description
Parameter Deskripsi namespace Nilai parameter namespace adalah nama namespace yang Anda buat di konsol Dynamic Route for CDN (DCDN). Anda dapat melihat namespace di daftar namespace.
get
Membaca data dari namespace.
- Syntax
get(key[, {type: “type”}]) - Parameter description
Parameter Deskripsi key Tipe adalah string. type Anda dapat memilih salah satu tipe berikut: - stream: mengembalikan aliran yang dapat dibaca. Ini adalah tipe default.
- text: mengembalikan string.
- json: mengonversi konten JSON yang disimpan menjadi objek dan kemudian mengembalikan objek tersebut.
- arrayBuffer: mengembalikan data biner.
- Return valueSebuah objek Promise dikembalikan. Anda dapat menggunakan await untuk memastikan eksekusi metode get selesai.
- Jika key tidak ada, objek Promise diselesaikan menjadi undefined.
- Jika metode get gagal dieksekusi karena pengecualian, objek Promise ditolak dengan kesalahan.
- Sample code
addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let getType = { type: "text" }; let value = await edgeKV.get("key", getType); if (value === undefined) { return "EdgeKV get: key not found"; } else { return new Response(value); } } catch (e) { return "EdgeKV get error" + e; } }
delete
Menghapus key dan nilainya dari namespace.
- Syntax
delete(key) - Parameter description
Parameter Deskripsi key Key yang ingin Anda hapus. Tipe adalah string. - Return valueSebuah objek Promise dikembalikan. Anda dapat menggunakan await untuk memastikan eksekusi metode delete selesai.
- Jika metode delete berhasil, objek Promise diselesaikan menjadi true.
- Jika metode delete gagal dieksekusi, objek Promise diselesaikan menjadi false.
- Jika terjadi pengecualian saat mengeksekusi metode delete, objek Promise ditolak dengan kesalahan.
- Sample code
addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest() { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let resp = await edgeKV.delete("key"); if (resp) { return "EdgeKV delete success"; } else { return "EdgeKV delete failed"; } } catch (e) { return "EdgeKV delete error" + e; } }
Penanganan Pengecualian JavaScript
Jika terjadi pengecualian, kesalahan JavaScript dikembalikan. Untuk mengabaikan kesalahan ini, tangkap kesalahan dalam kode JavaScript. Jika kesalahan tidak ditangkap, kode status 599 dikembalikan dan permintaan dialihkan ke server asal. Server asal yang memproses permintaan adalah server asal yang Anda konfigurasi saat menambahkan nama domain ke Alibaba Cloud CDN atau DCDN.