跳转到内容
搜索文档

命令

最后更新 查看 MarkdownAgent 设置

wrangler(Workers CLI)的所有可用命令的完整列表。


generate

从公共 GitHub 仓库搭建 Cloudflare Workers 项目。

wrangler generate [$NAME] [$TEMPLATE] [--type=$TYPE] [--site]

默认值以 =value 表示。


init

在现有目录中创建骨架 Wrangler 配置文件。如果你更喜欢自己克隆模板仓库,或者已有 JavaScript 项目并想使用 Wrangler,此命令可作为 generate 的替代方案。

wrangler init [$NAME] [--type=$TYPE] [--site]

默认值以 =value 表示。


build

构建项目(如适用)。此命令查看 Wrangler 文件并响应指定的 "type"

使用 type = "webpack" 时,Wrangler 将使用其内部 webpack 安装构建 Worker。使用 type = "javascript" 时,如果定义了 build.command,将运行它。

wrangler build [--env $ENVIRONMENT_NAME]
  • --env 可选
    • 如果定义,Wrangler 将在构建前加载匹配环境的配置。有关更多信息,请参阅环境

login

使用 Cloudflare 账户授权 Wrangler。这将在浏览器中打开登录页面并请求账户访问权限。此命令是 wrangler config 的替代方案,使用 OAuth 令牌。

wrangler login [--scopes-list] [--scopes $SCOPES]

此命令的所有参数和标志都是可选的:

  • --scopes-list 可选
    • 列出所有可用的 OAuth 作用域及其描述。
  • --scopes $SCOPES 可选
    • 允许选择 OAuth 作用域集。作用域集必须以空格分隔的列表输入, 例如 wrangler login --scopes account:read user:read

如果未提供任何标志,wrangler login 默认使用所有可用作用域。


logout

移除 Wrangler 访问账户的授权。此命令将使当前 OAuth 令牌失效并删除配置文件(如果存在)。

wrangler logout

此命令仅使通过 wrangler login 命令获取的 OAuth 令牌失效。但是,无论你的授权方法如何,它都会尝试删除配置文件。

要删除 API 令牌:

  1. 在 Cloudflare 仪表板中,转到 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. Overview(概览) > 右侧菜单中的 Get your API token

  3. 选择 Wrangler 令牌上的三点菜单并选择 Delete(删除)


config

配置 Wrangler,使其可以获取 Cloudflare API Token 或 Global API key,而不是 OAuth 令牌,以便访问和管理账户资源。

wrangler config [--api-key]
  • --api-key 可选
    • 提供电子邮件和全局 API 密钥而不是令牌。(出于安全原因,不建议这样做。)

你还可以使用环境变量进行身份验证,或使用 wrangler login 通过 OAuth 令牌授权。


publish

将 Worker 发布到 Cloudflare。Wrangler 文件中的几个键决定是发布到 *.workers.dev 子域还是自定义域。但是,自定义域必须通过 Cloudflare 代理(orange-clouded)。有关更多信息,请参阅快速入门指南

wrangler publish [--env $ENVIRONMENT_NAME]
  • --env 可选
    • 如果定义,Wrangler 将在构建和部署前加载匹配环境的配置。有关更多信息,请参阅环境

要使用此命令,Wrangler 文件中需要以下字段:

  • name string

    • Workers 项目名称。这既是目录名称,也是生成的 Wrangler 配置 文件中的 name 属性。
  • type string

    • 项目类型;webpackjavascriptrust 之一。
  • account_id string

    • Cloudflare 账户 ID。可以在 Cloudflare 仪表板中找到,例如 account_id = "a655bacaf2b4cad0e2b51c5236a6b974"

你可以发布到 <your-worker>.<your-subdomain>.workers.dev 或自定义域。

当你向现有 Worker 脚本发布更改时,所有新请求将自动路由到更新版本的 Worker,无需停机。任何进行中的请求将继续在上一版本上运行直到完成。所有进行中的请求完成后,上一 Worker 版本将被清除,不再处理请求。

发布到 workers.dev

要发布到 *.workers.dev,首先需要注册子域。可以通过执行 wrangler subdomain 命令注册子域。

注册子域后,在 Wrangler 文件中添加 workers_dev

  • workers_dev bool
    • 当为 true 时,表示 Worker 应部署到 *.workers.dev 域。

发布到你自己的域

要发布到你自己的域,在 Wrangler 文件中指定这三个字段。

  • zone_id string

    • Cloudflare zone ID,例如 zone_id = "b6558acaf2b4cad1f2b51c5236a6b972",可以在 Cloudflare 仪表板中找到。
  • route string

    • 要发布到的路由,例如 route = "example.com/my-worker/*"
  • routes Array

    • 要发布到的路由,例如 routes = ["example.com/foo/*", example.com/bar/*]

将相同代码发布到多个域

要将代码发布到多个域,请参阅环境文档


dev

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
  • --port 可选

    • 监听的端口,默认为 8787
  • --host 可选

    • 转发请求的目标主机,默认为项目的 zone,如果未认证则为 tutorial.cloudflareworkers.com
  • --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


tail

启动会话以实时流式传输来自已部署 Worker 的日志。

wrangler tail [--format $FORMAT] [--status $STATUS] [OPTIONS]
  • --format $FORMAT json|pretty
    • 日志条目的格式。
  • --status $STATUS
    • 按调用状态过滤 [可能的值:okerrorcanceled]。
  • --header $HEADER
    • 按 HTTP 头过滤。
  • --method $METHOD
    • 按 HTTP 方法过滤。
  • --sampling-rate $RATE
    • 添加请求百分比到日志采样率。
  • --search $SEARCH
    • console.log 消息中的文本匹配过滤。

在项目目录中启动 wrangler tail 后,你将收到 Worker 收到的每个请求的 console 和异常日志的实时 feed。

与所有 Wrangler 命令一样,从 Worker 根目录(包含 Wrangler 文件的目录)运行 wrangler tail


preview

使用 Cloudflare Workers 预览服务预览项目。

wrangler preview [--watch] [--env $ENVIRONMENT_NAME] [ --url $URL] [$METHOD] [$BODY]

默认值以 =value 表示。

  • --env $ENVIRONMENT_NAME 可选

    • 如果定义,Wrangler 将加载匹配环境的配置。有关更多信息,请参阅环境
  • --watch 推荐

    • 启用后,Worker 项目的任何更改将持续用项目的最新版本更新预览服务。默认情况下,wrangler preview 只会打包项目一次。
  • $METHOD ="GET" 可选

    • 预览 Worker 的请求类型(GETPOST)。
  • $BODY ="Null" 可选

    • 发布到预览 Worker 请求的正文字符串。例如 wrangler preview post hello=hello

kv_namespaces

如果在 wrangler preview 中使用 kv_namespaces,需要在 Wrangler 文件中指定 preview_id 才能启动会话。这是为了避免在开发期间意外向生产 namespace 写入更改。如果希望使用生产 namespace 预览,可以将 preview_id 设为等于 id,但应确保不会向 KV 写入会破坏生产 Worker 的值。

要创建 preview_id,运行:

wrangler kv:namespace create --preview "NAMESPACE"

在 Windows Subsystem for Linux (WSL 1/2) 上预览

将 $BROWSER 设置为浏览器二进制文件

WSL 是 Linux 环境,因此 Wrangler 尝试调用 xdg-open 打开浏览器。要使 wrangler preview 与 WSL 配合工作,应将 $BROWSER 设置为浏览器二进制文件的路径:

export BROWSER="/mnt/c/tools/firefox.exe"
wrangler preview

Linux 中文件路径中的空格不常见,一些程序如 xdg-open 会在带空格的路径上中断。可以通过将二进制文件链接到 /usr/local/bin 来解决:

ln -s "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" firefox
export BROWSER=firefox

将 $BROWSER 设置为 wsl-open

另一个选项是安装 wsl-open 并通过 wsl-open -w$BROWSER 环境变量 设置为 wsl-open。这确保 xdg-open 在尝试打开浏览器时使用 wsl-open

如果你使用 WSL 2,需要按照其独立方法安装 wsl-open,而不是通过 npm。这是因为其 npm 包尚未更新 WSL 2 支持。


route

列出或删除与域关联的路由:

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 可选

    • 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境

subdomain

创建或更改 *.workers.dev 子域。

wrangler subdomain <name>

secret

与密钥交互。

put

创建或替换密钥。

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 可选

    • 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境

delete

从特定脚本删除密钥。

wrangler secret delete <name> --env ENVIRONMENT_NAME
  • name

    • 脚本中可访问的变量名称。
  • --env $ENVIRONMENT_NAME 可选

    • 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境

list

列出绑定到特定脚本的所有密钥名称。

wrangler secret list --env ENVIRONMENT_NAME
  • --env $ENVIRONMENT_NAME 可选
    • 如果定义,仅列出指定环境的密钥。有关更多信息,请参阅环境

kv

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 可以通过两种方式指定:

  1. 使用 --binding

    wrangler kv:key get --binding=MY_KV "my key"
    • 可以与 --preview 标志组合以与预览 namespace 而不是生产 namespace 交互。
  2. 使用 --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"

要了解有关环境的更多信息,请参阅环境

kv:namespace

create

创建新 namespace。

wrangler kv:namespace create $NAME [--env=$ENVIRONMENT_NAME] [--preview]
  • $NAME

    • 新 namespace 的名称。
  • --env $ENVIRONMENT_NAME 可选

    • 如果定义,更改仅适用于指定环境。有关更多信息,请参阅环境
  • --preview 可选

    • 与预览 namespace(preview_id 值)而不是生产交互。
用法
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" }
]

list

列出与账户 ID 关联的所有 KV namespace。

wrangler kv:namespace list
用法

此示例通过 jq 命令传递 Wrangler 命令:

wrangler kv:namespace list | jq "."
[
  {
    "id": "06779da6940b431db6e566b4846d64db",
    "title": "TEST_NAMESPACE"
  },
  {
    "id": "32ac1b3c2ed34ed3b397268817dea9ea",
    "title": "STATIC_CONTENT"
  }
]

delete

删除给定 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
  Success
wrangler kv:namespace delete --binding=MY_KV --preview
Are you sure you want to delete namespace 15137f8edf6c09742227e99b08aaf273? [y/n]
yes
🌀  Deleting namespace 15137f8edf6c09742227e99b08aaf273
  Success

kv:key

put

向特定 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
  • --ttl 可选

    • 文档应存在到过期前的生命周期(秒数)。必须至少 60 秒。此选项优先于 expiration 选项。
  • --expiration 可选

    • UNIX 秒时间戳,指示键值对应何时过期。
  • --path 可选

    • 定义时,Wrangler 读取 --path 文件位置以上传其内容作为 KV 文档。这对于安全敏感操作很理想,因为它避免将键和值保存到终端历史记录中。
用法
wrangler kv:key put --binding=MY_KV "key" "value"
  Success
wrangler kv:key put --binding=MY_KV --preview "key" "value"
  Success
wrangler kv:key put --binding=MY_KV "key" "value" --ttl=10000
  Success
wrangler kv:key put --binding=MY_KV "key" value.txt --path
  Success

list

输出给定 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"
  }
]

get

从给定 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
用法
wrangler kv:key get --binding=MY_KV "key"
value

delete

从给定 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
用法
wrangler kv:key delete --binding=MY_KV "key"
Are you sure you want to delete key "key"? [y/n]
yes
🌀  Deleting key "key"
  Success

kv:bulk

put

将包含键值对的文件写入给定 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

此命令接受 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:

  • key stringrequired

    • 键的名称。名称最多 512 字节。所有可打印的非空白字符都有效。
  • value stringrequired

    • 要存储的 UTF-8 编码字符串,长度最多 25 MB。
  • expiration int optional

    • 自 UNIX 纪元以来的秒数,键应在此时间过期。
  • expiration_ttl int optional

    • 文档应存在到过期前的秒数。必须至少 60 秒。
  • base64 bool optional

    • 当为 true 时,服务器将在存储前将值解码为 base64。这对于写入否则会是无效 JSON 字符串的值(如图像)很有用。默认为 false

如果给定键同时指定 expirationexpiration_ttl,API 将优先使用 expiration_ttl

用法
wrangler kv:bulk put --binding=MY_KV allthethingsupload.json
🌀  uploading 1 key value pairs
  Success

delete

删除给定 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

此命令接受 JSON 文件作为参数,其中包含要删除的键值对列表。JSON 输入示例:

[
	{
		"key": "test_key",
		"value": ""
	}
]
  • key stringrequired

    • 键的名称。名称最多 512 字节。所有可打印的非空白字符都有效。
  • value stringrequired

    • 出于反序列化目的必须指定此字段,但未使用,因为提供的键正在被删除,而不是写入。
用法
wrangler kv:bulk delete --binding=MY_KV allthethingsdelete.json
Are you sure you want to delete all keys in allthethingsdelete.json? [y/n]
y
🌀  deleting 1 key value pairs
  Success

环境变量

Wrangler 支持将任何 Wrangler 配置文件 键作为环境变量传递。这通过传入 CF_ + 任何大写的 TOML 键来实现。例如:

CF_NAME=my-worker CF_ACCOUNT_ID=1234 wrangler dev


--help

wrangler --help
👷  wrangler 1.12.3
The Wrangler Team <wrangler@cloudflare.com>

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)

这篇文档对您有帮助吗?