全部產品
Search
文件中心

Edge Security Acceleration:邊緣儲存API

更新時間:Apr 26, 2025

您可以通過邊緣儲存的內建API來完成儲存空間的管理。

Constructor

傳入NameSpace(儲存空間名稱)建立一個邊緣KV執行個體對象。

  • 定義

    const edgeKv = new EdgeKV({ namespace: "ns"});
  • 參數說明

    參數

    說明

    namespace

    NameSpace是您在控制台建立的儲存空間名稱,可在儲存空間列表查看。

get

從NameSpace(儲存空間)裡讀取資料。

  • 定義

    get(key[, {type: “type”}])
  • 參數說明

    參數

    說明

    key

    類型為string

    type

    類型可為以下任意一種:

    • stream(預設類型):ReadableStream的形式,返迴流式的內容。

    • text:返回字串。

    • json:將儲存的JSON內容轉換成一個Object後再返回。

    • arrayBuffer:返回位元據。

  • 傳回值

    返回一個Promise(可以調用await來確保操作完成):

    • 如果key不存在,會返回undefined。

    • 如果發生異常導致get失敗,reject成error異常。

  • 範例程式碼

    export default {
      fetch(request) {
        return handleRequest(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;
      }
    }

put

寫入/更新Key-Value資料到NameSpace(儲存空間)。

  • 定義

    put(key,value)
  • 參數說明

    參數

    說明

    key

    類型為string,不可為空

    type

    要儲存的資料,最大為1.8 MB,類型可為以下任意一種:

    • string

    • ReadableStream

    • ArrayBuffer

    • Response

  • 傳回值

    返回一個Promise(可調用await來確保操作完成):

    • 如果put成功,resolve成undefined。

    • 如果發生異常導致put失敗,reject成error異常。

  • 範例程式碼

    export default {
      async fetch(request) {
        return handleRequest(request);
      }
    }
    async function handleRequest(request) {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" });
        let data = await edgeKV.put("put_string", "string_value")
        // await edgeKV.put("put_stream", new HTMLStream("test_stream", []));
        // await edgeKV.put("put_array_buffer", getArrayBuffer());
        // await edgeKV.put("put_array_buffer", new Response("test");
        if (data === undefined) {
          return "EdgeKV put success\n";
        } else {
          return "EdgeKV put failed\n";
        }
      } catch (e) {
        return "EdgeKV put error" + e;
      }
    }

delete

從NameSpace(儲存空間)裡刪除Key及其對應的Value資料。

  • 定義

    delete(key)
  • 參數說明

    參數

    說明

    key

    需要刪除的Key,類型為string

  • 傳回值

    返回一個Promise(可以調用await來確保操作完成):

    • 如果刪除成功,resolve成true。

    • 如果刪除失敗,resolve成false。

    • 如果發生異常導致delete失敗,reject成error異常。

  • 範例程式碼

    export default {
      async fetch(request) {
        return handleRequest(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;
      }
    }