本文へ移動
章と記事の一覧

動かすストレージ

R2

S3 互換のオブジェクトストレージ。転送無料

エディタへ移動

export default {
  async fetch(request, env) {
    // オブジェクトの書き込み / Put objects
    await env.STORAGE.put("lesson/hello.txt", "はじめての R2 オブジェクト");
    await env.STORAGE.put("lesson/notes/1.txt", "メモ 1");

    // 読み出し / Get object
    const text = await env.STORAGE.get("lesson/hello.txt");
    console.log("読み出し:", text);

    // プレフィックス一覧取得 / List objects by prefix
    const list = await env.STORAGE.list("lesson/");
    console.log("一覧:", list);

    // 削除 / Delete object
    await env.STORAGE.delete("lesson/notes/1.txt");
    console.log("削除後:", await env.STORAGE.list("lesson/"));

    return Response.json({ text, list, afterDelete: await env.STORAGE.list("lesson/") });
  },
};

実行結果

実行するとここに結果が出ます。ネットワークは塞がれていますが、D1・KV・R2・Durable Object の状態は訪問者全員で共有されます。