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

Edge Security Acceleration:EdgeKV API操作

最終更新日:Aug 09, 2024

このトピックでは、EdgeRoutine (ER) の組み込みAPI操作について説明します。

コンストラクター

namespaceパラメーターを渡して、エッジキーと値のオブジェクトを作成します。

  • 構文

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

    項目

    説明

    namespace

    namespaceパラメーターの値は、Dynamic Route for CDN (DCDN) コンソールで作成した名前空間の名前です。 名前空間リストで名前空間を表示できます。

get

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

  • 構文

    get(key[, {type: “type”}])
  • パラメーターの説明

    項目

    説明

    key

    型はstringです。

    type

    次のいずれかのタイプを選択できます。

    • stream: 読み取り可能なストリームを返します。 これはデフォルトのタイプです。

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

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

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

  • 戻り値

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

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

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

  • サンプルコード

    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

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

  • 構文

    delete(key)
  • パラメーターの説明

    項目

    説明

    key

    削除するキー。The key that you want to delete. 型はstringです。

  • 戻り値

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

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

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

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

  • サンプルコード

    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;
      }
    }

JavaScript例外処理

例外が発生すると、JavaScriptエラーが返されます。 このエラーを無視する場合は、JavaScriptコードでエラーをキャプチャする必要があります。 エラーをキャプチャしない場合、599ステータスコードが返され、リクエストはオリジンサーバーにリダイレクトされます。 リクエストを処理するオリジンサーバーは、Alibaba Cloud CDNまたはDCDNにドメイン名を追加するときに設定するオリジンサーバーです。