全部产品
Search
文档中心

Edge Security Acceleration:Operasi API EdgeKV

更新时间:Jul 02, 2025

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
    ParameterDeskripsi
    namespaceNilai 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
    ParameterDeskripsi
    keyTipe adalah string.
    typeAnda 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 value
    Sebuah 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
    ParameterDeskripsi
    keyKey yang ingin Anda hapus. Tipe adalah string.
  • Return value
    Sebuah 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.