wrangler ↗(Workers CLI)的所有可用命令的完整列表。
从公共 GitHub 仓库搭建 Cloudflare Workers 项目。
wrangler generate [$NAME] [$TEMPLATE] [--type=$TYPE] [--site]默认值以 =value 表示。
-
$NAME=worker 可选- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
name属性。
- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
-
$TEMPLATE=https://github.com/cloudflare/worker-template ↗ 可选- 用于生成项目的仓库模板 ↗ 的 GitHub URL。
-
--type=$TYPE=webpack 可选- 项目类型;
webpack、javascript或rust之一。
- 项目类型;
-
--site可选- 定义时,默认
$TEMPLATE值更改为cloudflare/workers-sdk/templates/worker-sites↗。这将搭建 Workers Site 项目。
- 定义时,默认
在现有目录中创建骨架 Wrangler 配置文件。如果你更喜欢自己克隆模板仓库,或者已有 JavaScript 项目并想使用 Wrangler,此命令可作为 generate 的替代方案。
wrangler init [$NAME] [--type=$TYPE] [--site]默认值以 =value 表示。
-
$NAME=(工作目录名称) 可选- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
name属性。
- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
-
--type=$TYPE=webpack 可选- 项目类型;
webpack、javascript或rust之一。
- 项目类型;
-
--site可选- 定义时,默认
$TEMPLATE值更改为cloudflare/workers-sdk/templates/worker-sites↗。这将搭建 Workers Site 项目。
- 定义时,默认
构建项目(如适用)。此命令查看 Wrangler 文件并响应指定的 "type" 值。
使用 type = "webpack" 时,Wrangler 将使用其内部 webpack 安装构建 Worker。使用 type = "javascript" 时,如果定义了 build.command,将运行它。
wrangler build [--env $ENVIRONMENT_NAME]--env可选- 如果定义,Wrangler 将在构建前加载匹配环境的配置。有关更多信息,请参阅环境。
使用 Cloudflare 账户授权 Wrangler。这将在浏览器中打开登录页面并请求账户访问权限。此命令是 wrangler config 的替代方案,使用 OAuth 令牌。
wrangler login [--scopes-list] [--scopes $SCOPES]此命令的所有参数和标志都是可选的:
--scopes-list可选- 列出所有可用的 OAuth 作用域及其描述。
--scopes $SCOPES可选- 允许选择 OAuth 作用域集。作用域集必须以空格分隔的列表输入,
例如
wrangler login --scopes account:read user:read。
- 允许选择 OAuth 作用域集。作用域集必须以空格分隔的列表输入,
例如
如果未提供任何标志,wrangler login 默认使用所有可用作用域。
移除 Wrangler 访问账户的授权。此命令将使当前 OAuth 令牌失效并删除配置文件(如果存在)。
wrangler logout此命令仅使通过 wrangler login 命令获取的 OAuth 令牌失效。但是,无论你的授权方法如何,它都会尝试删除配置文件。
要删除 API 令牌:
-
在 Cloudflare 仪表板中,转到 Workers & Pages 页面。
Go to Workers & Pages ↗ -
在 Overview(概览) > 右侧菜单中的 Get your API token。
-
选择 Wrangler 令牌上的三点菜单并选择 Delete(删除)。
配置 Wrangler,使其可以获取 Cloudflare API Token 或 Global API key,而不是 OAuth 令牌,以便访问和管理账户资源。
wrangler config [--api-key]--api-key可选- 提供电子邮件和全局 API 密钥而不是令牌。(出于安全原因,不建议这样做。)
你还可以使用环境变量进行身份验证,或使用 wrangler login 通过 OAuth 令牌授权。
将 Worker 发布到 Cloudflare。Wrangler 文件中的几个键决定是发布到 *.workers.dev 子域还是自定义域。但是,自定义域必须通过 Cloudflare 代理(orange-clouded)。有关更多信息,请参阅快速入门指南。
wrangler publish [--env $ENVIRONMENT_NAME]--env可选- 如果定义,Wrangler 将在构建和部署前加载匹配环境的配置。有关更多信息,请参阅环境。
要使用此命令,Wrangler 文件中需要以下字段:
-
namestring- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
name属性。
- Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的
-
typestring- 项目类型;
webpack、javascript或rust之一。
- 项目类型;
-
account_idstring- Cloudflare 账户 ID。可以在 Cloudflare 仪表板中找到,例如
account_id = "a655bacaf2b4cad0e2b51c5236a6b974"。
- Cloudflare 账户 ID。可以在 Cloudflare 仪表板中找到,例如
你可以发布到 <your-worker>.<your-subdomain>.workers.dev ↗ 或自定义域。
当你向现有 Worker 脚本发布更改时,所有新请求将自动路由到更新版本的 Worker,无需停机。任何进行中的请求将继续在上一版本上运行直到完成。所有进行中的请求完成后,上一 Worker 版本将被清除,不再处理请求。
要发布到 *.workers.dev ↗,首先需要注册子域。可以通过执行 wrangler subdomain 命令注册子域。
注册子域后,在 Wrangler 文件中添加 workers_dev。
workers_devbool- 当为
true时,表示 Worker 应部署到*.workers.dev域。
- 当为
要发布到你自己的域,在 Wrangler 文件中指定这三个字段。
-
zone_idstring- Cloudflare zone ID,例如
zone_id = "b6558acaf2b4cad1f2b51c5236a6b972",可以在 Cloudflare 仪表板中找到。
- Cloudflare zone ID,例如
-
routestring- 要发布到的路由,例如
route = "example.com/my-worker/*"。
- 要发布到的路由,例如
-
routesArray- 要发布到的路由,例如
routes = ["example.com/foo/*", example.com/bar/*]。
- 要发布到的路由,例如
要将代码发布到多个域,请参阅环境文档。
wrangler dev 是一个命令,在 localhost 和运行 Worker 开发版本的全局网络服务器之间建立连接。cloudflared 隧道将所有请求转发到全局网络服务器,随着 Worker 代码更改持续更新。这允许完全访问 Workers KV、Durable Objects 和其他 Cloudflare 开发者平台产品。dev 命令是在开发期间测试 Worker 的方式。
wrangler dev [--env $ENVIRONMENT_NAME] [--ip <ip>] [--port <port>] [--host <host>] [--local-protocol <http|https>] [--upstream-protocol <http|https>]-
--env可选- 如果定义,Wrangler 将加载匹配环境的配置。有关更多信息,请参阅环境。
-
--ip可选- 监听的 IP,默认为
127.0.0.1。
- 监听的 IP,默认为
-
--port可选- 监听的端口,默认为
8787。
- 监听的端口,默认为
-
--host可选- 转发请求的目标主机,默认为项目的 zone,如果未认证则为
tutorial.cloudflareworkers.com。
- 转发请求的目标主机,默认为项目的 zone,如果未认证则为
-
--local-protocol可选- 监听请求的协议,默认为
http。
- 监听请求的协议,默认为
-
--upstream-protocol可选- 向主机转发请求的协议,默认为
https。
- 向主机转发请求的协议,默认为
这些参数也可以在 Wrangler 文件中设置。有关更多信息,请参阅 wrangler dev 配置 文档。
应从 Worker 目录运行 wrangler dev。Wrangler 将运行接受请求的本地服务器,执行 Worker 并将请求转发到主机。如果想使用 zone 或 tutorials.cloudflare.com 以外的其他主机,可以使用 --host example.com 指定。
wrangler dev💁 JavaScript project found. Skipping unnecessary build!
💁 watching "./"
👂 Listening on http://127.0.0.1:8787在 wrangler dev 运行时,你可以向 localhost:8787 发送 HTTP 请求,Worker 应按预期执行。你还会在终端中看到 console.log 消息和异常。如果这两者都没有发生,或者你认为输出不正确,请提交 issue ↗。
启动会话以实时流式传输来自已部署 Worker 的日志。
wrangler tail [--format $FORMAT] [--status $STATUS] [OPTIONS]--format $FORMATjson|pretty- 日志条目的格式。
--status $STATUS- 按调用状态过滤 [可能的值:
ok、error、canceled]。
- 按调用状态过滤 [可能的值:
--header $HEADER- 按 HTTP 头过滤。
--method $METHOD- 按 HTTP 方法过滤。
--sampling-rate $RATE- 添加请求百分比到日志采样率。
--search $SEARCH- 按
console.log消息中的文本匹配过滤。
- 按
在项目目录中启动 wrangler tail 后,你将收到 Worker 收到的每个请求的 console 和异常日志的实时 feed。
与所有 Wrangler 命令一样,从 Worker 根目录(包含 Wrangler 文件的目录)运行 wrangler tail。
使用 Cloudflare Workers 预览服务 ↗预览项目。
wrangler preview [--watch] [--env $ENVIRONMENT_NAME] [ --url $URL] [$METHOD] [$BODY]默认值以 =value 表示。
-
--env $ENVIRONMENT_NAME可选- 如果定义,Wrangler 将加载匹配环境的配置。有关更多信息,请参阅环境。
-
--watch推荐- 启用后,Worker 项目的任何更改将持续用项目的最新版本更新预览服务。默认情况下,
wrangler preview只会打包项目一次。
- 启用后,Worker 项目的任何更改将持续用项目的最新版本更新预览服务。默认情况下,
-
$METHOD="GET" 可选- 预览 Worker 的请求类型(
GET、POST)。
- 预览 Worker 的请求类型(
-
$BODY="Null" 可选- 发布到预览 Worker 请求的正文字符串。例如
wrangler preview post hello=hello。
- 发布到预览 Worker 请求的正文字符串。例如
如果在 wrangler preview 中使用 kv_namespaces,需要在 Wrangler 文件中指定 preview_id 才能启动会话。这是为了避免在开发期间意外向生产 namespace 写入更改。如果希望使用生产 namespace 预览,可以将 preview_id 设为等于 id,但应确保不会向 KV 写入会破坏生产 Worker 的值。
要创建 preview_id,运行:
wrangler kv:namespace create --preview "NAMESPACE"WSL 是 Linux 环境,因此 Wrangler 尝试调用 xdg-open 打开浏览器。要使 wrangler preview 与 WSL 配合工作,应将 $BROWSER 设置为浏览器二进制文件的路径:
export BROWSER="/mnt/c/tools/firefox.exe"
wrangler previewLinux 中文件路径中的空格不常见,一些程序如 xdg-open 会在带空格的路径 ↗上中断。可以通过将二进制文件链接到 /usr/local/bin 来解决:
ln -s "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" firefox
export BROWSER=firefox另一个选项是安装 wsl-open ↗ 并通过 wsl-open -w 将 $BROWSER 环境变量 设置为 wsl-open。这确保 xdg-open 在尝试打开浏览器时使用 wsl-open。
如果你使用 WSL 2,需要按照其独立方法 ↗安装 wsl-open,而不是通过 npm。这是因为其 npm 包尚未更新 WSL 2 支持。
列出或删除与域关联的路由:
wrangler route list [--env $ENVIRONMENT_NAME]默认值以 =value 表示。
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
此命令将转发来自 List Routes API 的 JSON 响应。JSON 列表中的每个对象将包括路由 id、路由模式和路由分配的 Worker 名称。通过 jq 等工具管道传输将很好地渲染输出。
wrangler route delete $ID [--env $ENVIRONMENT_NAME]默认值以 =value 表示。
-
$ID必填- 要删除的路由 ID 的哈希。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
创建或更改 *.workers.dev ↗ 子域。
wrangler subdomain <name>与密钥交互。
创建或替换密钥。
wrangler secret put <name> --env ENVIRONMENT_NAME
Enter the secret text you would like assigned to the variable name on the Worker named my-worker-ENVIRONMENT_NAME:将提示你输入密钥值。此命令可以接收管道输入,因此以下示例也是可能的:
echo "-----BEGIN PRIVATE KEY-----\nM...==\n-----END PRIVATE KEY-----\n" | wrangler secret put PRIVATE_KEY-
name- 脚本中可访问的变量名称。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
从特定脚本删除密钥。
wrangler secret delete <name> --env ENVIRONMENT_NAME-
name- 脚本中可访问的变量名称。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
列出绑定到特定脚本的所有密钥名称。
wrangler secret list --env ENVIRONMENT_NAME--env $ENVIRONMENT_NAME可选- 如果定义,仅列出指定环境的密钥。有关更多信息,请参阅环境。
kv 子命令允许你在 Cloudflare 网络中存储应用程序数据,以便 Workers 通过 Workers KV ↗ 访问。KV 操作限定在你的账户范围内,因此要使用任何这些命令,你需要:
- 在项目的 Wrangler 文件中配置
account_id。 - 从项目根目录的终端运行所有
wrangler kv:<command>操作。
要在 Worker 中使用 Workers KV,首先必须创建 KV namespace。这通过
kv:namespace 子命令完成。
kv:namespace 子命令接受新的绑定名称作为参数。Workers KV namespace 将使用 Worker 名称(来自 Wrangler 文件)和你提供的绑定名称的拼接创建:
wrangler kv:namespace create "MY_KV"🌀 Creating namespace with title "my-site-MY_KV"
✨ Success!
Add the following to your configuration file:
kv_namespaces = [
{ binding = "MY_KV", id = "e29b263ab50e42ce9b637fa8370175e8" }
]成功的操作将打印应复制到 Wrangler 文件的新配置块。如果已存在,将输出添加到现有 kv_namespaces 配置。现在可以从 Worker 内部访问绑定:
let value = await MY_KV.get("my-key");要使用 Wrangler 向 KV namespace 写入值,运行 wrangler kv:key put 子命令。
wrangler kv:key put --binding=MY_KV "key" "value"✨ Success除了 --binding,还可以使用 --namespace-id 指定应接收操作的 KV namespace:
wrangler kv:key put --namespace-id=e29b263ab50e42ce9b637fa8370175e8 "key" "value"✨ Success此外,KV namespace 可以与环境一起使用。当你有引用
KV 绑定(如 MY_KV)的代码,并希望能够让这些绑定指向不同的 namespace(如
staging 和生产各一个)时,这很有用。
带有两个环境的 Wrangler 文件:
{
"env": {
"staging": {
"kv_namespaces": [
{
"binding": "MY_KV",
"id": "e29b263ab50e42ce9b637fa8370175e8"
}
]
},
"production": {
"kv_namespaces": [
{
"binding": "MY_KV",
"id": "a825455ce00f4f7282403da85269f8ea"
}
]
}
}
}[[env.staging.kv_namespaces]]
binding = "MY_KV"
id = "e29b263ab50e42ce9b637fa8370175e8"
[[env.production.kv_namespaces]]
binding = "MY_KV"
id = "a825455ce00f4f7282403da85269f8ea"要向特定 KV namespace 插入值,可以使用:
wrangler kv:key put --env=staging --binding=MY_MV "key" "value"✨ Success由于 --namespace-id 始终唯一(与绑定名称不同),不需要指定 --env 参数。
大多数 kv 命令需要你指定 namespace。namespace 可以通过两种方式指定:
-
使用
--binding:wrangler kv:key get --binding=MY_KV "my key"- 可以与
--preview标志组合以与预览 namespace 而不是生产 namespace 交互。
- 可以与
-
使用
--namespace-id:wrangler kv:key get --namespace-id=06779da6940b431db6e566b4846d64db "my key"
大多数 kv 子命令还允许你使用可选的 --env 标志指定环境。这允许你发布运行相同代码但使用不同 namespace 的 Workers。例如,你可以在 Wrangler 文件中为 KV 数据使用单独的 staging 和生产 namespace:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"type": "webpack",
"name": "my-worker",
"account_id": "<account id here>",
"route": "staging.example.com/*",
"workers_dev": false,
"kv_namespaces": [
{
"binding": "MY_KV",
"id": "06779da6940b431db6e566b4846d64db"
}
],
"env": {
"production": {
"route": "example.com/*",
"kv_namespaces": [
{
"binding": "MY_KV",
"id": "07bc1f3d1f2a4fd8a45a7e026e2681c6"
}
]
}
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
type = "webpack"
name = "my-worker"
account_id = "<account id here>"
route = "staging.example.com/*"
workers_dev = false
[[kv_namespaces]]
binding = "MY_KV"
id = "06779da6940b431db6e566b4846d64db"
[env.production]
route = "example.com/*"
[[env.production.kv_namespaces]]
binding = "MY_KV"
id = "07bc1f3d1f2a4fd8a45a7e026e2681c6"使用上述 Wrangler 文件,当你希望对 env.production 下的 namespace MY_KV 执行 KV 操作时,可以指定 --env production。例如,使用上述 Wrangler 文件,你可以从生产 KV 实例获取值:
wrangler kv:key get --binding "MY_KV" --env=production "my key"要了解有关环境的更多信息,请参阅环境。
创建新 namespace。
wrangler kv:namespace create $NAME [--env=$ENVIRONMENT_NAME] [--preview]-
$NAME- 新 namespace 的名称。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace(
preview_id值)而不是生产交互。
- 与预览 namespace(
wrangler kv:namespace create "MY_KV"
🌀 Creating namespace with title "worker-MY_KV"
✨ Add the following to your wrangler.toml:
kv_namespaces = [
{ binding = "MY_KV", id = "e29b263ab50e42ce9b637fa8370175e8" }
]wrangler kv:namespace create "MY_KV" --preview
🌀 Creating namespace with title "my-site-MY_KV_preview"
✨ Success!
Add the following to your wrangler.toml:
kv_namespaces = [
{ binding = "MY_KV", preview_id = "15137f8edf6c09742227e99b08aaf273" }
]列出与账户 ID 关联的所有 KV namespace。
wrangler kv:namespace list此示例通过 jq 命令传递 Wrangler 命令:
wrangler kv:namespace list | jq "."
[
{
"id": "06779da6940b431db6e566b4846d64db",
"title": "TEST_NAMESPACE"
},
{
"id": "32ac1b3c2ed34ed3b397268817dea9ea",
"title": "STATIC_CONTENT"
}
]删除给定 namespace。
wrangler kv:namespace delete --binding= [--namespace-id=]-
--binding必填(如果没有--namespace-id)- 要删除的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要删除的 namespace ID。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace 而不是生产交互。
wrangler kv:namespace delete --binding=MY_KV
Are you sure you want to delete namespace f7b02e7fc70443149ac906dd81ec1791? [y/n]
yes
🌀 Deleting namespace f7b02e7fc70443149ac906dd81ec1791
✨ Successwrangler kv:namespace delete --binding=MY_KV --preview
Are you sure you want to delete namespace 15137f8edf6c09742227e99b08aaf273? [y/n]
yes
🌀 Deleting namespace 15137f8edf6c09742227e99b08aaf273
✨ Success向特定 namespace 写入单个键值对。
wrangler kv:key put --binding= [--namespace-id=] $KEY $VALUE
✨ Success-
$KEY必填- 要写入的键。
-
$VALUE必填- 要写入的值。
-
--binding必填(如果没有--namespace-id)- 要写入的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要写入的 namespace ID。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
kv_namespaces.preview_id而不是kv_namespaces.id。
- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
-
--ttl可选- 文档应存在到过期前的生命周期(秒数)。必须至少
60秒。此选项优先于expiration选项。
- 文档应存在到过期前的生命周期(秒数)。必须至少
-
--expiration可选- UNIX 秒时间戳,指示键值对应何时过期。
-
--path可选- 定义时,Wrangler 读取
--path文件位置以上传其内容作为 KV 文档。这对于安全敏感操作很理想,因为它避免将键和值保存到终端历史记录中。
- 定义时,Wrangler 读取
wrangler kv:key put --binding=MY_KV "key" "value"
✨ Successwrangler kv:key put --binding=MY_KV --preview "key" "value"
✨ Successwrangler kv:key put --binding=MY_KV "key" "value" --ttl=10000
✨ Successwrangler kv:key put --binding=MY_KV "key" value.txt --path
✨ Success输出给定 namespace 中所有键的列表。
wrangler kv:key list --binding= [--namespace-id=] [--prefix] [--env]-
--binding必填(如果没有--namespace-id)- 要列出的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要列出的 namespace ID。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--prefix可选- 过滤列出键的前缀。
此示例通过 jq 命令传递 Wrangler 命令:
wrangler kv:key list --binding=MY_KV --prefix="public" | jq "."
[
{
"name": "public_key"
},
{
"name": "public_key_with_expiration",
"expiration": "2019-09-10T23:18:58Z"
}
]从给定 namespace 按键读取单个值。
wrangler kv:key get --binding= [--env=] [--preview] [--namespace-id=] "$KEY"-
$KEY必填- 要获取的键值。
-
--binding必填(如果没有--namespace-id)- 要获取的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要获取的 namespace ID。
-
--env $ENVIRONMENT_NAME可选- 如果定义,操作仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
kv_namespaces.preview_id而不是kv_namespaces.id
- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
wrangler kv:key get --binding=MY_KV "key"
value从给定 namespace 删除单个键值对。
wrangler kv:key delete --binding= [--env=] [--preview] [--namespace-id=] "$KEY"-
$KEY必填- 要删除的键值。
-
--binding必填(如果没有--namespace-id)- 要删除的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要删除的 namespace id。
-
--env可选- 在指定为
$ENVIRONMENT_NAME的特定环境中执行。
- 在指定为
-
--preview可选- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 配置文件的
kv_namespaces.preview_id而不是kv_namespaces.id
- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 配置文件的
wrangler kv:key delete --binding=MY_KV "key"
Are you sure you want to delete key "key"? [y/n]
yes
🌀 Deleting key "key"
✨ Success将包含键值对的文件写入给定 namespace。
wrangler kv:bulk put --binding= [--env=] [--preview] [--namespace-id=] $FILENAME-
$FILENAME必填- 要写入 namespace 的文件
-
--binding必填(如果没有--namespace-id)- 要写入的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要写入的 namespace id。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
kv_namespaces.preview_id而不是kv_namespaces.id
- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
此命令接受 JSON 文件作为参数,其中包含要上传的键值对列表。JSON 输入示例:
[
{
"key": "test_key",
"value": "test_value",
"expiration_ttl": 3600
}
]为了保存 JSON 数据,将 value 转换为字符串:
[
{
"key": "test_key",
"value": "{\"name\": \"test_value\"}",
"expiration_ttl": 3600
}
]以下 schema 是通过 bulk API 上传的键值条目的完整 schema:
keystringrequired- 键的名称。名称最多 512 字节。所有可打印的非空白字符都有效。
valuestringrequired- 要存储的 UTF-8 编码字符串,长度最多 25 MB。
-
expirationint optional- 自 UNIX 纪元以来的秒数,键应在此时间过期。
-
expiration_ttlint optional- 文档应存在到过期前的秒数。必须至少
60秒。
- 文档应存在到过期前的秒数。必须至少
-
base64bool optional- 当为 true 时,服务器将在存储前将值解码为 base64。这对于写入否则会是无效 JSON 字符串的值(如图像)很有用。默认为
false。
- 当为 true 时,服务器将在存储前将值解码为 base64。这对于写入否则会是无效 JSON 字符串的值(如图像)很有用。默认为
如果给定键同时指定 expiration 和 expiration_ttl,API 将优先使用 expiration_ttl。
wrangler kv:bulk put --binding=MY_KV allthethingsupload.json
🌀 uploading 1 key value pairs
✨ Success删除给定 namespace 中所有指定的键。
wrangler kv:bulk delete --binding= [--env=] [--preview] [--namespace-id=] $FILENAME-
$FILENAME必填- 包含要删除的键值对的文件。
-
--binding必填(如果没有--namespace-id)- 要删除的 namespace 名称。
-
--namespace-id必填(如果没有--binding)- 要删除的 namespace ID。
-
--env $ENVIRONMENT_NAME可选- 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境。
-
--preview可选- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
kv_namespaces.preview_id而不是kv_namespaces.id
- 与预览 namespace 而不是生产交互。传递此参数以使用 Wrangler 文件的
此命令接受 JSON 文件作为参数,其中包含要删除的键值对列表。JSON 输入示例:
[
{
"key": "test_key",
"value": ""
}
]keystringrequired- 键的名称。名称最多 512 字节。所有可打印的非空白字符都有效。
valuestringrequired- 出于反序列化目的必须指定此字段,但未使用,因为提供的键正在被删除,而不是写入。
wrangler kv:bulk delete --binding=MY_KV allthethingsdelete.jsonAre you sure you want to delete all keys in allthethingsdelete.json? [y/n]
y
🌀 deleting 1 key value pairs
✨ SuccessWrangler 支持将任何 Wrangler 配置文件 键作为环境变量传递。这通过传入 CF_ + 任何大写的 TOML 键来实现。例如:
CF_NAME=my-worker CF_ACCOUNT_ID=1234 wrangler dev
wrangler --help👷 ✨ wrangler 1.12.3
The Wrangler Team <[email protected]m>
USAGE:
wrangler [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
kv:namespace 🗂️ Interact with your Workers KV Namespaces
kv:key 🔑 Individually manage Workers KV key-value pairs
kv:bulk 💪 Interact with multiple Workers KV key-value pairs at once
route ➡️ List or delete worker routes.
secret 🤫 Generate a secret that can be referenced in the worker script
generate 👯 Generate a new worker project
init 📥 Create a wrangler.toml for an existing project
build 🦀 Build your worker
preview 🔬 Preview your code temporarily on cloudflareworkers.com
dev 👂 Start a local server for developing your worker
publish 🆙 Publish your worker to the orange cloud
config 🕵️ Authenticate Wrangler with a Cloudflare API Token or Global API Key
subdomain 👷 Configure your workers.dev subdomain
whoami 🕵️ Retrieve your user info and test your auth config
tail 🦚 Aggregate logs from production worker
login 🔓 Authorize Wrangler with your Cloudflare username and password
logout ⚙️ Remove authorization from Wrangler.
help Prints this message or the help of the given subcommand(s)