Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

コマンド

最終更新 Markdown で表示Agent セットアップ

Workers CLI である wrangler で使えるコマンドの一覧です。


generate

公開 GitHub リポジトリから Cloudflare Workers プロジェクトをスキャフォールドします。

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

デフォルト値は =value で示します。


init

既存のディレクトリに、スケルトンの Wrangler 設定ファイル を作成します。テンプレートリポジトリを自分でクローンしたい場合や、すでに JavaScript プロジェクトがあり Wrangler を使いたい場合に、generate の代替として使えます。

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

デフォルト値は =value で示します。

  • $NAME =(作業ディレクトリの名前)任意

    • Workers プロジェクトの名前です。ディレクトリ名と、生成される Wrangler 設定 ファイルの name プロパティの両方になります。
  • --type=$TYPE =webpack 任意

    • プロジェクトの種類です。webpackjavascriptrust のいずれかです。
  • --site 任意


build

プロジェクトをビルドします(該当する場合)。このコマンドは Wrangler ファイルを見て、指定された "type" の値 に応じて動作します。

type = "webpack" のときは、Wrangler は内蔵の webpack で Worker をビルドします。type = "javascript" のときは、build.command が定義されていればそれを実行します。

wrangler build [--env $ENVIRONMENT_NAME]
  • --env 任意
    • 指定すると、Wrangler は一致する環境の設定を読み込んでからビルドします。詳しくは Environments を参照してください。

login

Wrangler を Cloudflare アカウントで認可します。ブラウザでログインページが開き、アカウントへのアクセス権限を求めます。このコマンドは 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 ページを開きます。

    Workers & Pages を開く ↗
  2. Overview の右側メニューで Get your API token を開きます。

  3. Wrangler トークンの三点メニューを選び、Delete を選びます。


config

OAuth トークンの代わりに Cloudflare API トークンまたは Global API key を取得できるよう、Wrangler を設定します。アカウントリソースへのアクセスと管理に使います。

wrangler config [--api-key]
  • --api-key 任意
    • トークンの代わりに、メールアドレスと Global API key を渡します。(セキュリティ上の理由から推奨しません。)

環境変数で認証するか、wrangler login で OAuth トークンによる認可もできます。


publish

Worker を Cloudflare に公開します。Wrangler ファイルのいくつかのキーで、*.workers.dev サブドメインに公開するか、カスタムドメインに公開するかが決まります。ただし、カスタムドメインは Cloudflare 経由でプロキシ(オレンジクラウド)する必要があります。詳しくは Get started ガイド を参照してください。

wrangler publish [--env $ENVIRONMENT_NAME]
  • --env 任意
    • 指定すると、Wrangler は一致する環境の設定を読み込んでからビルドとデプロイを行います。詳しくは Environments を参照してください。

このコマンドを使うには、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 ファイルで次の 3 つのフィールドを指定します。

  • zone_id string

    • Cloudflare ゾーン ID です。例: zone_id = "b6558acaf2b4cad1f2b51c5236a6b972"。Cloudflare ダッシュボードで確認できます。
  • route string

    • 公開先のルートです。例: route = "example.com/my-worker/*"
  • routes Array

    • 公開先のルートです。例: routes = ["example.com/foo/*", example.com/bar/*]

同じコードを複数ドメインに公開する

同じコードを複数ドメインに公開するには、environments のドキュメント を参照してください。


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 は一致する環境の設定を読み込みます。詳しくは Environments を参照してください。
  • --ip 任意

    • 待ち受ける IP です。デフォルトは 127.0.0.1 です。
  • --port 任意

    • 待ち受けるポートです。デフォルトは 8787 です。
  • --host 任意

    • リクエストの転送先ホストです。デフォルトはプロジェクトのゾーン、未認証の場合は tutorial.cloudflareworkers.com です。
  • --local-protocol 任意

    • リクエストの待ち受けプロトコルです。デフォルトは http です。
  • --upstream-protocol 任意

    • ホストへリクエストを転送するときのプロトコルです。デフォルトは https です。

これらの引数は Wrangler ファイルでも設定できます。詳しくは wrangler dev の設定 を参照してください。

使い方

wrangler dev は Worker ディレクトリから実行します。Wrangler はリクエストを受け付けるローカルサーバーを起動し、Worker を実行してホストへ転送します。ゾーンや 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 が受け取る各リクエストのコンソールログと例外ログのライブフィードが届きます。

ほかの Wrangler コマンドと同様に、wrangler tail は Worker のルートディレクトリ(Wrangler ファイルがあるディレクトリ)から実行します。


preview

Cloudflare Workers preview サービス でプロジェクトをプレビューします。

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

デフォルト値は =value で示します。

  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、Wrangler は一致する環境の設定を読み込みます。詳しくは Environments を参照してください。
  • --watch 推奨

    • 有効にすると、Worker プロジェクトへの変更があるたびに、最新版で preview サービスが更新され続けます。デフォルトでは、wrangler preview はプロジェクトを 1 回だけバンドルします。
  • $METHOD ="GET" 任意

    • Worker をプレビューするときのリクエスト種類です(GETPOST)。
  • $BODY ="Null" 任意

    • preview Worker リクエストに POST する本文文字列です。例: wrangler preview post hello=hello

kv_namespaces

kv_namespaceswrangler preview で使う場合、セッションを開始する前に Wrangler ファイルで preview_id を指定する必要があります。開発中に本番名前空間へ誤って書き込まないようにするためです。プレビューで本番名前空間を使いたい場合は preview_idid と同じにできますが、本番 Worker を壊す値を KV に書き込まないよう注意してください。

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

$BROWSERwsl-open に設定する

もう 1 つの方法は wsl-open をインストールし、wsl-open -w$BROWSER 環境変数wsl-open に設定することです。xdg-open がブラウザを開くときに wsl-open を使うようになります。

WSL 2 を使っている場合は、npm ではなく standalone の手順wsl-open をインストールします。npm パッケージはまだ WSL 2 対応に更新されていないためです。


route

ドメインに関連付けられたルートを一覧または削除します。

wrangler route list [--env $ENVIRONMENT_NAME]

デフォルト値は =value で示します。

  • --env $ENVIRONMENT_NAME 任意
    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。

このコマンドは、List Routes API からの JSON レスポンスを転送します。JSON リスト内の各オブジェクトには、ルート ID、ルートパターン、そのルートに割り当てられた Worker 名が含まれます。jq などのツールにパイプすると、出力が見やすくなります。

wrangler route delete $ID [--env $ENVIRONMENT_NAME]

デフォルト値は =value で示します。

  • $ID 必須

    • 削除するルート ID のハッシュです。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。

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 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。

delete

特定のスクリプトからシークレットを削除します。

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

    • スクリプト内でアクセスできる変数名です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。

list

特定のスクリプトにバインドされているシークレット名をすべて一覧します。

wrangler secret list --env ENVIRONMENT_NAME
  • --env $ENVIRONMENT_NAME 任意
    • 指定すると、指定した環境のシークレットだけが一覧されます。詳しくは Environments を参照してください。

kv

kv サブコマンドでは、Workers KV を使って、Workers からアクセスするアプリケーションデータを Cloudflare ネットワークに保存できます。KV 操作はアカウント単位なので、これらのコマンドを使うには次が必要です。

  • プロジェクトの Wrangler ファイルに account_id を設定する。
  • すべての wrangler kv:<command> 操作を、プロジェクトのルートディレクトリのターミナルから実行する。

始める

Worker で Workers KV を使うには、まず KV 名前空間を作成します。これは kv:namespace サブコマンドで行います。

kv:namespace サブコマンドは、新しいバインディング名を引数に取ります。Workers KV 名前空間は、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 名前空間に値を書き込むには、wrangler kv:key put サブコマンドを実行します。

wrangler kv:key put --binding=MY_KV "key" "value"
  Success

--binding の代わりに --namespace-id で、操作対象の KV 名前空間を指定できます。

wrangler kv:key put --namespace-id=e29b263ab50e42ce9b637fa8370175e8 "key" "value"
  Success

さらに、KV 名前空間は environments と組み合わせて使えます。MY_KV のような KV バインディングを参照するコードがあり、そのバインディングを異なる名前空間(ステージング用と本番用など)に向けたい場合に便利です。

2 つの環境を持つ 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 名前空間に値を挿入するには、次のようにできます。

wrangler kv:key put --env=staging --binding=MY_MV "key" "value"
  Success

--namespace-id は(バインディング名と違い)常に一意なので、--env 引数は不要です。

概念

ほとんどの kv コマンドでは、名前空間の指定が必要です。名前空間は次の 2 通りで指定できます。

  1. --binding で指定する:

    wrangler kv:key get --binding=MY_KV "my key"
    • --preview フラグと組み合わせると、本番名前空間ではなくプレビュー名前空間を操作できます。
  2. --namespace-id で指定する:

    wrangler kv:key get --namespace-id=06779da6940b431db6e566b4846d64db "my key"

ほとんどの kv サブコマンドでは、任意の --env フラグで環境も指定できます。同じコードを動かす Worker を、異なる名前空間で公開できます。たとえば、Wrangler ファイルで KV データのステージング用と本番用の名前空間を分けられます。

{
	"$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 配下の名前空間 MY_KV に対して KV 操作をしたいときに --env production を指定できます。たとえば、上の Wrangler ファイルで本番 KV インスタンスから値を取得するには次を実行します。

wrangler kv:key get --binding "MY_KV" --env=production "my key"

environments の詳細は Environments を参照してください。

kv:namespace

create

新しい名前空間を作成します。

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

    • 新しい名前空間の名前です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間(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 名前空間を一覧します。

wrangler kv:namespace list
使い方

この例では、Wrangler コマンドの出力を jq コマンドに渡します。

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

delete

指定した名前空間を削除します。

wrangler kv:namespace delete --binding= [--namespace-id=]
  • --binding 必須(--namespace-id がない場合)

    • 削除する名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 削除する名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。
使い方
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

特定の名前空間に、1 つのキーと値のペアを書き込みます。

wrangler kv:key put --binding= [--namespace-id=] $KEY $VALUE
  Success
  • $KEY 必須

    • 書き込むキーです。
  • $VALUE 必須

    • 書き込む値です。
  • --binding 必須(--namespace-id がない場合)

    • 書き込み先の名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 書き込み先の名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。Wrangler ファイルの kv_namespaces.id ではなく kv_namespaces.preview_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

指定した名前空間内のすべてのキーを一覧します。

wrangler kv:key list --binding= [--namespace-id=] [--prefix] [--env]
  • --binding 必須(--namespace-id がない場合)

    • 一覧する名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 一覧する名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --prefix 任意

    • 一覧するキーを絞り込むプレフィックスです。
使い方

この例では、Wrangler コマンドの出力を jq コマンドに渡します。

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

指定した名前空間から、キーで 1 つの値を読み取ります。

wrangler kv:key get --binding= [--env=] [--preview] [--namespace-id=] "$KEY"
  • $KEY 必須

    • 取得するキーの値です。
  • --binding 必須(--namespace-id がない場合)

    • 取得元の名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 取得元の名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、操作は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。Wrangler ファイルの kv_namespaces.id ではなく kv_namespaces.preview_id を使います。
使い方
wrangler kv:key get --binding=MY_KV "key"
value

delete

指定した名前空間から、1 つのキーと値のペアを削除します。

wrangler kv:key delete --binding= [--env=] [--preview] [--namespace-id=] "$KEY"
  • $KEY 必須

    • 削除するキーの値です。
  • --binding 必須(--namespace-id がない場合)

    • 削除元の名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 削除元の名前空間の ID です。
  • --env 任意

    • $ENVIRONMENT_NAME で指定した特定の環境に対して実行します。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。Wrangler 設定ファイルの kv_namespaces.id ではなく kv_namespaces.preview_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

指定した名前空間に、キーと値のペアが並んだファイルを書き込みます。

wrangler kv:bulk put --binding= [--env=] [--preview] [--namespace-id=] $FILENAME
  • $FILENAME 必須

    • 名前空間に書き込むファイルです。
  • --binding 必須(--namespace-id がない場合)

    • 書き込み先の名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 書き込み先の名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。Wrangler ファイルの kv_namespaces.id ではなく kv_namespaces.preview_id を使います。

このコマンドは、アップロードするキーと値のペアのリストを含む JSON ファイルを引数に取ります。JSON 入力の例です。

[
	{
		"key": "test_key",
		"value": "test_value",
		"expiration_ttl": 3600
	}
]

JSON データを保存するには、value を文字列にキャストします。

[
	{
		"key": "test_key",
		"value": "{\"name\": \"test_value\"}",
		"expiration_ttl": 3600
	}
]

次のスキーマは、bulk API でアップロードするキーと値のエントリの完全なスキーマです。

  • key string required

    • キーの名前です。名前は最大 512 バイトです。印刷可能な、空白以外の文字がすべて有効です。
  • value string required

    • 保存する UTF-8 エンコード文字列です。長さは最大 25 MB です。
  • expiration int 任意

    • UNIX エポックからの秒数で表した、キーが期限切れになる時刻です。
  • expiration_ttl int 任意

    • ドキュメントが期限切れになるまでの秒数です。最低 60 秒です。
  • base64 bool 任意

    • 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

指定した名前空間内の、指定したキーをすべて削除します。

wrangler kv:bulk delete --binding= [--env=] [--preview] [--namespace-id=] $FILENAME
  • $FILENAME 必須

    • 削除するキーと値のペアを含むファイルです。
  • --binding 必須(--namespace-id がない場合)

    • 削除元の名前空間の名前です。
  • --namespace-id 必須(--binding がない場合)

    • 削除元の名前空間の ID です。
  • --env $ENVIRONMENT_NAME 任意

    • 指定すると、変更は指定した環境にだけ適用されます。詳しくは Environments を参照してください。
  • --preview 任意

    • 本番ではなくプレビュー名前空間を操作します。Wrangler ファイルの kv_namespaces.id ではなく kv_namespaces.preview_id を使います。

このコマンドは、削除するキーと値のペアのリストを含む JSON ファイルを引数に取ります。JSON 入力の例です。

[
	{
		"key": "test_key",
		"value": ""
	}
]
  • key string required

    • キーの名前です。名前は最大 512 バイトです。印刷可能な、空白以外の文字がすべて有効です。
  • value string required

    • デシリアライズのためにこのフィールドは必須ですが、指定したキーは書き込まれず削除されるため、値は使われません。
使い方
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)

役に立ちましたか?