如何在Cloudflare Worker中导入KV模块并执行读写操作?
正确使用Cloudflare Worker KV的导入与读写方法(Wrangler v3)
你尝试的几种导入方式都不对——在Wrangler v3版本中,Cloudflare Worker KV不需要通过第三方包或特殊模块导入,而是通过环境绑定直接访问。以下是完整的配置和使用步骤:
1. 创建KV命名空间并绑定到Worker
首先需要在Wrangler中创建KV命名空间,并将其绑定到你的Worker:
- 执行命令创建KV命名空间:
执行后会得到类似如下的输出,记录其中的wrangler kv:namespace create "MY_KV"id和preview_id:⛅️ wrangler 3.78.12 -------------------- Successfully created namespace with id: <你的KV命名空间ID> Add the following to your wrangler.toml: [[kv_namespaces]] binding = "MY_KV" id = "<你的KV命名空间ID>" preview_id = "<预览环境ID>" - 打开你的
wrangler.toml文件,将上述配置粘贴进去,保存。
2. Worker中直接使用KV进行读写
绑定完成后,不需要任何导入语句,直接通过env对象访问绑定的KV变量(就是wrangler.toml里的binding值,比如MY_KV):
export default { async fetch(request, env, ctx) { // 写入KV:put(key, value, 可选配置) await env.MY_KV.put('username', 'zhangsan', { expirationTtl: 86400 // 可选:设置过期时间,单位秒,这里是1天 }); // 读取KV:get(key) const username = await env.MY_KV.get('username'); // 也可以读取为JSON格式 // const userInfo = await env.MY_KV.get('user_info', { type: 'json' }); return new Response(`读取到用户名:${username}`); } };
额外注意事项
- 绑定的变量名(比如
MY_KV)要和wrangler.toml中的binding字段完全一致,大小写敏感 - 本地测试时,执行
wrangler dev即可自动加载绑定配置,无需额外操作 - 如果需要在其他函数中使用KV,只需把
env对象传递过去即可:async function saveUser(env, userId, userData) { await env.MY_KV.put(`user_${userId}`, JSON.stringify(userData)); }
内容的提问来源于stack exchange,提问作者Frequent Potato
相关产品推荐
相关产品推荐

