すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:Edge KV API

最終更新日:May 01, 2025

組み込みの Edge KV API 操作を使用して、エッジのストレージスペースを管理します。

コンストラクタ

Edge KV の指定された名前空間に関連付けられたインスタンスを作成します。

  • 定義

    const edgeKv = new EdgeKV({ namespace: "ns"});
  • パラメータ

    パラメータ

    説明

    namespace

    [名前空間] は、コンソールで作成したストレージスペースの名前です。

get

名前空間からデータを読み取ります。

  • 定義

    get(key[, {type: "type"}])
  • パラメータ

    パラメータ

    説明

    key

    タイプは文字列です。

    type

    以下のいずれかを選択できます。

    • stream (デフォルト): ReadableStream 形式でコンテンツを返します。

    • text: 文字列を返します。

    • json: 格納されている JSON コンテンツをオブジェクトに変換して返します。

    • arrayBuffer: バイナリデータを返します。

  • 戻り値

    Promise オブジェクトが返されます。 await を呼び出して、get メソッドの実行が完了していることを確認できます。

    • キーが存在しない場合、Promise オブジェクトは undefined に解決されます。

    • 例外が発生して get メソッドが実行に失敗した場合、Promise オブジェクトはエラーで拒否されます。

  • サンプルコード

    export default {
      fetch(request) {
        return handleRequest(request)
      }
    }
    async function handleRequest(request) {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成
        let getType = { type: "text" }; // 取得するデータの型をテキストに設定
        let value = await edgeKV.get("key", getType); // キー "key" の値を取得
        if (value === undefined) {
          return "EdgeKV get: key not found"; // キーが見つからない場合の処理
        } else {
          return new Response(value); // 取得した値をレスポンスとして返す
        }
      } catch (e) {
        return "EdgeKV get error" + e; // エラーが発生した場合の処理
      }
    }

put

名前空間にキーと値のデータを書き込んだり、更新したりします。

  • 定義

    put(key,value)
  • パラメータ

    パラメータ

    説明

    key

    タイプは文字列です。キーは空にできません。

    type

    格納するデータ。値のサイズは最大 1.8 MB です。以下のいずれかを選択できます。

    • string

    • ReadableStream

    • ArrayBuffer

    • Response

  • 戻り値

    Promise オブジェクトが返されます。 await を呼び出して、put メソッドの実行が完了していることを確認できます。

    • put メソッドが成功した場合、Promise オブジェクトは undefined に解決されます。

    • 例外が発生して put メソッドが実行に失敗した場合、Promise オブジェクトはエラーで拒否されます。

  • サンプルコード

    export default {
      async fetch(request) {
        return handleRequest(request);
      }
    }
    async function handleRequest(request) {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成
        let data = await edgeKV.put("put_string", "string_value") // キー "put_string" に値 "string_value" を格納
        // await edgeKV.put("put_stream", new HTMLStream("test_stream", [])); // ReadableStream を格納
        // await edgeKV.put("put_array_buffer", getArrayBuffer()); // ArrayBuffer を格納
        // await edgeKV.put("put_array_buffer", new Response("test"); // Response を格納
        if (data === undefined) {
          return "EdgeKV put success\n"; // 格納成功時の処理
        } else {
          return "EdgeKV put failed\n"; // 格納失敗時の処理
        }
      } catch (e) {
        return "EdgeKV put error" + e; // エラーが発生した場合の処理
      }
    }

delete

名前空間からキーとその値を削除します。

  • 定義

    delete(key)
  • パラメータ

    パラメータ

    説明

    key

    削除するキー。タイプは文字列です。

  • 戻り値

    Promise オブジェクトが返されます。 await を呼び出して、delete メソッドの実行が完了していることを確認できます。

    • delete メソッドが成功した場合、Promise オブジェクトは true に解決されます。

    • delete メソッドが実行に失敗した場合、Promise オブジェクトは false に解決されます。

    • delete メソッドの実行時に例外が発生した場合、Promise オブジェクトはエラーで拒否されます。

  • サンプルコード

    export default {
      async fetch(request) {
        return handleRequest(request);
      }
    }
    async function handleRequest() {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成
        let resp = await edgeKV.delete("key"); // キー "key" を削除
        if (resp) {
          return "EdgeKV delete success"; // 削除成功時の処理
        } else {
          return "EdgeKV delete failed"; // 削除失敗時の処理
        }
      }
      catch (e) {
        return "EdgeKV delete error" + e; // エラーが発生した場合の処理
      }
    }