[{"data":1,"prerenderedAt":143},["ShallowReactive",2],{"legacy-question-cd1defa55659594e8b5f77ee425cdf90":3,"legacy-question-author-koji-kadoma":116,"legacy-question-category-website-building":132},{"id":4,"title":5,"author":6,"body":7,"category":103,"date":104,"description":5,"extension":105,"locale":106,"meta":107,"navigation":108,"path":109,"seo":110,"slug":111,"stem":112,"tag":113,"updated":104,"__hash__":115},"legacyQuestions\u002F20210408000000-Cloudflare Workers KVのデータをWorkersから呼び出す方法.md","Cloudflare Workers KVのデータをWorkersから呼び出す方法","koji-kadoma",{"type":8,"value":9,"toc":99},"minimark",[10,15,19,32,35,38,41,52,55,58,64,67,70,76,79,82,96],[11,12,14],"h2",{"id":13},"設定をすればクラスとしてロードが出来ます","設定をすればクラスとしてロードが出来ます。",[16,17,18],"p",{},"Cloudflare Workers KVのデータをWorkersから呼び出すには、",[20,21,22,26,29],"ol",{},[23,24,25],"li",{},"管理画面でKV名前空間のバインディング",[23,27,28],{},"wrangler.tomlに記述",[23,30,31],{},"Workersで呼び出す",[16,33,34],{},"という手順を踏みます。",[16,36,37],{},"Cloudflareの管理画面からのバイディングは、Workersの設定ページから「設定」タブをクリックして、「KV 名前空間のバインディング」から追加すればOKです。",[16,39,40],{},"これだけだと、「WorkersからKVにアクセスできる権限」が与えられているだけなので、Workerのプログラム内で使う場合は、wrangler.tomlに記述が必要です。",[42,43,48],"pre",{"className":44,"code":46,"language":47},[45],"language-text","kv_namespaces = [\n  { binding = \"変数名1\", id = \"KVのnamespace ID\", preview_id = \"KVのnamespace ID\" },\n  { binding = \"変数名2\", id = \"KVのnamespace ID\", preview_id = \"KVのnamespace ID\" }\n]\n\n","text",[49,50,46],"code",{"__ignoreMap":51},"",[16,53,54],{},"連想配列で、複数のKVを設定できます。",[16,56,57],{},"idとpreview_idは同じものを指定できますが、Cloudflare的には別々にするのを推奨しているようで、ビルド時に、",[42,59,62],{"className":60,"code":61,"language":47},[45],"Specifying the same KV namespace ID for both preview and production sessions may cause bugs in your production worker! Proceed with caution.\n",[49,63,61],{"__ignoreMap":51},[16,65,66],{},"というアラートが出ます。",[16,68,69],{},"ここまで設定できたら、Workersのプログラム内で呼び出します。",[42,71,74],{"className":72,"code":73,"language":47},[45],"const hoge = await 変数名1.get(\"キー名\")\n\n\u002F\u002F 変数名がBlog、キー名がListだったとしたら\n\nconst hoge = await Blog.get(\"List\")\n",[49,75,73],{"__ignoreMap":51},[16,77,78],{},"でバリューに収納したデータが帰ってきます。",[16,80,81],{},"バイディイングしたKVクラスには、",[20,83,84,87,90,93],{},[23,85,86],{},".put(キー、バリュー)",[23,88,89],{},".get(キー)",[23,91,92],{},".delete(キー)",[23,94,95],{},".list()",[16,97,98],{},"の4つのメソッドが用意されています。",{"title":51,"searchDepth":100,"depth":100,"links":101},2,[102],{"id":13,"depth":100,"text":14},"website-building","2021-04-08T03:00:00.000Z","md","ja",{},true,"\u002F20210408000000-cloudflare-workers-kvworkers",{"title":5,"description":5},"cd1defa55659594e8b5f77ee425cdf90","20210408000000-Cloudflare Workers KVのデータをWorkersから呼び出す方法",[114],"cloudflare-workers","NVH8Cn_MYbTio9FpC_a8hkHViOFNDtmoBXHFrfJ8MrQ",{"id":117,"title":118,"body":119,"date":123,"description":124,"extension":105,"locale":106,"meta":125,"name":128,"navigation":108,"path":129,"seo":130,"slug":6,"stem":6,"updated":123,"__hash__":131},"legacyAuthors\u002Fkoji-kadoma.md","Koji Kadoma",{"type":8,"value":120,"toc":121},[],{"title":51,"searchDepth":100,"depth":100,"links":122},[],"2021-04-01T00:00:00.000Z","Webエンジニアです。Javascript、PHP、Ruby、Dockerなどをメインで使っています。",{"image":126,"url":127},"https:\u002F\u002Fwww.codit.work\u002Fimgs\u002Favatar\u002Fkoji-kadoma.png","https:\u002F\u002Fkoji.pages.dev\u002F",null,"\u002Fkoji-kadoma",{"title":118,"description":124},"H1yaGicrsv1CzYTbFeEXQosuYx93lIutD3_XwXMhAFk",{"id":133,"title":134,"body":135,"date":123,"description":134,"extension":105,"locale":106,"meta":139,"navigation":108,"path":140,"seo":141,"slug":103,"stem":103,"updated":123,"__hash__":142},"legacyCategories\u002Fwebsite-building.md","Webサイト構築",{"type":8,"value":136,"toc":137},[],{"title":51,"searchDepth":100,"depth":100,"links":138},[],{},"\u002Fwebsite-building",{"title":134,"description":134},"h9jPLD2mzMm3L4sFN5qWSiSirySQQLdnxLhQcvw8VlQ",1783320300875]