← Cloudflare Workers / workers / wrangler / migration / v1-to-v2 / wrangler-legacy
Команды
Полный список всех доступных команд для wrangler ↗, интерфейс командной строки Workers.
generate
Создайте каркас проекта Cloudflare Workers на основе публичного репозитория GitHub.
wrangler generate [$NAME] [$TEMPLATE] [--type=$TYPE] [--site]Значения по умолчанию обозначаются как =value.
-
$NAME=worker необязательный- Имя проекта Workers. Оно одновременно служит именем каталога и
nameсвойство в сгенерированном Конфигурация Wrangler файл.
- Имя проекта Workers. Оно одновременно служит именем каталога и
-
$TEMPLATE=https://github.com/cloudflare/worker-template ↗ необязательный- URL на GitHub для репозиторий, который будет использоваться как шаблон ↗ для создания проекта.
-
--type=$TYPE=webpack необязательный- Тип проекта; один из
webpack,javascript, илиrust.
- Тип проекта; один из
-
--siteнеобязательный- Если задано, значение по умолчанию
$TEMPLATEзначение изменено наcloudflare/workers-sdk/templates/worker-sites↗. Это создаёт каркас Workers Site проект.
- Если задано, значение по умолчанию
init
Создайте каркас конфигурационный файл Wrangler в существующем каталоге. Эту команду можно использовать как альтернативу generate если вы предпочитаете самостоятельно клонировать репозиторий шаблона или у вас уже есть проект на JavaScript и вы хотите использовать Wrangler.
wrangler init [$NAME] [--type=$TYPE] [--site]Значения по умолчанию обозначаются как =value.
-
$NAME=(Имя рабочего каталога) необязательный- Имя проекта Workers. Оно одновременно служит именем каталога и
nameсвойство в сгенерированном Конфигурация Wrangler файл.
- Имя проекта Workers. Оно одновременно служит именем каталога и
-
--type=$TYPE=webpack необязательный- Тип проекта; один из
webpack,javascript, илиrust.
- Тип проекта; один из
-
--siteнеобязательный- Если задано, значение по умолчанию
$TEMPLATEзначение изменено наcloudflare/workers-sdk/templates/worker-sites↗. Это создаёт каркас Workers Site проект.
- Если задано, значение по умолчанию
сборка
Соберите свой проект (если это применимо). Эта команда проверяет файл Wrangler и реагирует на "type" значение указано.
При использовании type = "webpack", Wrangler соберет Worker с помощью встроенной установки webpack. При использовании type = "javascript" , build.command, если он определён, будет выполнен.
wrangler build [--env $ENVIRONMENT_NAME]--envнеобязательный- Если параметр задан, Wrangler загружает конфигурацию соответствующего окружения перед сборкой. См. Окружения, где это описано подробнее.
login
Авторизуйте Wrangler в вашей учётной записи Cloudflare. При этом в браузере откроется страница входа с запросом разрешений на доступ к вашей учётной записи. Эта команда служит альтернативой wrangler config и использует токены OAuth.
wrangler login [--scopes-list] [--scopes $SCOPES]Все аргументы и флаги этой команды являются необязательными:
--scopes-listнеобязательный- Получить список всех доступных OAuth-scope с описаниями.
--scopes $SCOPESнеобязательный- Позволяет выбрать набор областей действия OAuth (OAuth scopes). Список областей действия указывается через пробел,
например,
wrangler login --scopes account:read user:read.
- Позволяет выбрать набор областей действия OAuth (OAuth scopes). Список областей действия указывается через пробел,
например,
wrangler login по умолчанию использует все доступные области действия, если флаги не указаны.
logout
Отзыв разрешения Wrangler на доступ к вашей учётной записи. Эта команда аннулирует текущий OAuth-токен и удалит файл конфигурации, если он существует.
wrangler logoutЭта команда аннулирует только токены OAuth, полученные через wrangler login команду. Однако она попытается удалить файл конфигурации независимо от способа авторизации.
Чтобы удалить свой API-токен:
-
На панели управления Cloudflare перейдите к разделу Workers & Pages страницу.
Перейдите в Workers & Pages ↗ -
В Обзор > Получите API-токен в меню справа.
-
Откройте меню с тремя точками у своего токена Wrangler и выберите Удалить.
конфигурация
Настройте Wrangler так, чтобы для доступа к ресурсам аккаунта и управления ими он использовал Cloudflare API Token или Global API key вместо OAuth токенов.
wrangler config [--api-key]--api-keyнеобязательный- Чтобы вместо токена указать свой email и глобальный API-ключ. (Из соображений безопасности это не рекомендуется.)
Также для аутентификации можно использовать переменные окружения или wrangler login чтобы авторизоваться с помощью токенов OAuth.
публикация
Опубликуйте Worker в Cloudflare. Несколько ключей в файле Wrangler определяют, публикуете ли вы его в *.workers.dev поддомен, или собственный домен. Однако собственные домены должны быть проксированы через Cloudflare (значок оранжевого облака). См. Руководство по началу работы, где это описано подробнее.
wrangler publish [--env $ENVIRONMENT_NAME]--envнеобязательный- Если параметр задан, Wrangler загружает конфигурацию соответствующего окружения перед сборкой и развёртыванием. См. Окружения, где это описано подробнее.
Чтобы использовать эту команду, в файле Wrangler должны быть указаны следующие поля:
-
nameстрока- Имя проекта Workers. Оно одновременно служит именем каталога и
nameсвойство в сгенерированном Конфигурация Wrangler файл.
- Имя проекта Workers. Оно одновременно служит именем каталога и
-
typeстрока- Тип проекта; один из
webpack,javascript, илиrust.
- Тип проекта; один из
-
account_idстрока- Account ID Cloudflare. Его можно найти в панели управления Cloudflare, например,
account_id = "a655bacaf2b4cad0e2b51c5236a6b974".
- Account ID Cloudflare. Его можно найти в панели управления Cloudflare, например,
Можно опубликовать в <your-worker>.<your-subdomain>.workers.dev ↗ или на пользовательский домен.
Когда вы публикуете изменения в существующем скрипте Worker, все новые запросы автоматически направляются на обновлённую версию Worker без простоя. Запросы, которые уже выполняются, продолжают обрабатываться на предыдущей версии до завершения. После завершения всех таких запросов предыдущая версия Worker удаляется и больше не обрабатывает запросы.
Публикация на workers.dev
Чтобы опубликовать в *.workers.dev ↗, вам сначала нужно зарегистрировать поддомен. Зарегистрировать поддомен можно, выполнив wrangler subdomain команда.
После регистрации поддомена добавьте workers_dev в файл Wrangler.
workers_devbool- Когда
true, указывает, что Worker должен быть развёрнут в*.workers.devдомен.
- Когда
Публикация на собственном домене
Чтобы опубликовать проект на собственном домене, укажите эти три поля в файле Wrangler.
-
zone_idстрока- Zone ID Cloudflare, например,
zone_id = "b6558acaf2b4cad1f2b51c5236a6b972", который можно найти в дашборде Cloudflare.
- Zone ID Cloudflare, например,
-
routeстрока- Маршрут, на который вы хотите опубликовать, например,
route = "example.com/my-worker/*".
- Маршрут, на который вы хотите опубликовать, например,
-
routesArray- Маршруты, на которые вы хотите опубликовать, например,
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.
- IP-адрес для прослушивания, по умолчанию
-
--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 запущен, вы можете отправлять HTTP-запросы на localhost:8787 и ваш Worker должен выполняться как ожидается. Вы также увидите console.log сообщения и исключения, появляющиеся в терминале. Если что-то из этого не происходит или вывод кажется некорректным, создать issue ↗.
tail
Запустите сессию для трансляции логов развернутого 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.
Подобно всем командам Wrangler, выполните wrangler tail из корневого каталога Worker (каталога, где находится файл Wrangler).
предпросмотр
Откройте предпросмотр проекта с помощью Сервис предпросмотра 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. Например,
kv_namespaces
Если вы используете kv_namespaces с wrangler preview, вам нужно будет указать preview_id в файле Wrangler, прежде чем запускать сеанс. Это нужно для того, чтобы вы случайно не записали изменения в производственное пространство имён во время разработки. Вы можете сделать 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 ↗ и задайте $BROWSER переменная окружения к wsl-open через wsl-open -w. Это гарантирует, что xdg-open использует wsl-open при попытке открыть ваш браузер.
Если вы используете WSL 2, потребуется установить wsl-open после их автономный метод ↗ а не через npm. Это связано с тем, что их npm-пакет ещё не обновлён для поддержки WSL 2.
route
Просмотр списка или удаление маршрута, связанного с доменом:
wrangler route list [--env $ENVIRONMENT_NAME]Значения по умолчанию обозначаются как =value.
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
Эта команда перенаправит JSON-ответ от API для получения списка маршрутов. Каждый объект в списке JSON содержит идентификатор маршрута, шаблон маршрута и имя Worker, назначенного этому маршруту. Если передать это через такой инструмент, как jq аккуратно отобразит результат.
wrangler route delete $ID [--env $ENVIRONMENT_NAME]Значения по умолчанию обозначаются как =value.
-
$IDобязательно- Хеш идентификатора маршрута для удаления.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
поддомен
Создайте или измените свой *.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
Получить список имён всех секретов, привязанных к указанному Worker.
wrangler secret list --env ENVIRONMENT_NAME--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, выводятся только секреты указанного окружения. См. Окружения, где это описано подробнее.
kv
kv подкоманда позволяет хранить данные приложения в сети Cloudflare для доступа к ним из Workers с помощью Workers KV ↗. Операции KV привязаны к вашему аккаунту, поэтому для использования любой из этих команд вам нужно:
- необходимо настроить
account_idв файле Wrangler вашего проекта. - запустить все
wrangler kv:<command>операции в терминале из корневого каталога проекта.
Начало работы
Чтобы использовать Workers KV в своём Worker, сначала нужно создать пространство имён 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");Чтобы записать значение в пространство имён KV с помощью Wrangler, выполните 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). Это может быть полезно, если в коде есть ссылка
на привязку KV вида MY_KV, и вы хотите, чтобы эти привязки указывали на разные пространства имён (например,
одно для staging и одно для production).
Файл 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 всегда уникален (в отличие от имён binding), поэтому вам не нужно указывать --env аргумент.
Основные понятия
Большинство kv команды требуют указать пространство имён. Указать его можно двумя способами:
-
С
--binding:wrangler kv:key get --binding=MY_KV "my key"- Это можно сочетать с
--previewфлаг для взаимодействия с preview-пространством имён вместо production-пространства имён.
- Это можно сочетать с
-
С
--namespace-id:wrangler kv:key get --namespace-id=06779da6940b431db6e566b4846d64db "my key"
Большинство kv подкоманды также позволяют указать окружение с помощью необязательного --env флаг. Это позволяет публиковать Workers с одним и тем же кодом, но с разными пространствами имён. Например, вы можете использовать отдельные пространства имён KV для staging и production в файле Wrangler:
{
"$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 когда нужно выполнить действие KV над пространством имён MY_KV в разделе env.production. Например, с файлом Wrangler выше можно получить значение из production-экземпляра KV с помощью:
wrangler kv:key get --binding "MY_KV" --env=production "my key"Подробнее о средах см. в Окружения.
kv:namespace
create
Создайте новое пространство имён.
wrangler kv:namespace create $NAME [--env=$ENVIRONMENT_NAME] [--preview]-
$NAME- Имя нового пространства имён.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра (с помощью
preview_idзначение) вместо production.
- Работа с пространством имён предварительного просмотра (с помощью
Использование
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
Получить список всех пространств имён KV, связанных с указанным account ID.
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необязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена.
Использование
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
✨ Successkv:key
put
Запишите одну пару ключ-значение в конкретное пространство имён.
wrangler kv:key put --binding= [--namespace-id=] $KEY $VALUE
✨ Success-
$KEYобязательно- Ключ для записи.
-
$VALUEобязательно- Значение для записи.
-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён, в которое нужно выполнить запись.
-
--namespace-idобязательно (если не указано--binding)- ID пространства имен, в которое нужно записать.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение в файле Wrangler, в поле
kv_namespaces.preview_idвместоkv_namespaces.id.
- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение в файле 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
✨ Successlist
Вывести список всех ключей в указанном пространстве имен.
wrangler kv:key list --binding= [--namespace-id=] [--prefix] [--env]-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён для вывода списка.
-
--namespace-idобязательно (если не указано--binding)- ID пространства имен для получения списка.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--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
Чтение одного значения по ключу из указанного пространства имён.
wrangler kv:key get --binding= [--env=] [--preview] [--namespace-id=] "$KEY"-
$KEYобязательно- Значение ключа для получения.
-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён, из которого нужно получить данные.
-
--namespace-idобязательно (если не указано--binding)- ID пространства имен, из которого нужно получить данные.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, операция применяется только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
kv_namespaces.preview_idвместоkv_namespaces.id
- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
Использование
wrangler kv:key get --binding=MY_KV "key"
valuedelete
Удаляет одну пару «ключ-значение» из указанного пространства имён.
wrangler kv:key delete --binding= [--env=] [--preview] [--namespace-id=] "$KEY"-
$KEYобязательно- Значение ключа для удаления.
-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён, из которого нужно удалить.
-
--namespace-idобязательно (если не указано--binding)- Идентификатор namespace, из которого нужно удалить.
-
--envнеобязательный- Выполнить для конкретного окружения, указанного как
$ENVIRONMENT_NAME.
- Выполнить для конкретного окружения, указанного как
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле конфигурации Wrangler поле
kv_namespaces.preview_idвместоkv_namespaces.id
- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле конфигурации Wrangler поле
Использование
wrangler kv:key delete --binding=MY_KV "key"
Are you sure you want to delete key "key"? [y/n]
yes
🌀 Deleting key "key"
✨ Successkv:bulk
put
Запишите в указанное пространство имён файл, содержащий пары ключ-значение.
wrangler kv:bulk put --binding= [--env=] [--preview] [--namespace-id=] $FILENAME-
$FILENAMEобязательно- Файл для записи в пространство имён
-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён, в которое нужно записать данные.
-
--namespace-idобязательно (если не указано--binding)- Идентификатор namespace, в который нужно записать.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
kv_namespaces.preview_idвместоkv_namespaces.id
- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
Эта команда принимает в качестве аргумента JSON-файл со списком пар «ключ-значение» для загрузки. Пример входного JSON:
[
{
"key": "test_key",
"value": "test_value",
"expiration_ttl": 3600
}
]Чтобы сохранить данные JSON, приведите value в строку:
[
{
"key": "test_key",
"value": "{\"name\": \"test_value\"}",
"expiration_ttl": 3600
}
]Ниже приведена полная схема для записей ключ-значение, загружаемых через массовый API:
-
keystringобязательно- Имя ключа. Максимальная длина имени составляет 512 байт. Допустимы любые печатаемые символы, кроме пробельных.
-
valuestringобязательно- Строка в кодировке UTF-8 для сохранения, длиной до 25 МБ.
-
expirationint, необязательный- Время в секундах, прошедших с начала эпохи UNIX, по достижении которого истекает срок действия ключа.
-
expiration_ttlint, необязательный- Количество секунд, в течение которых документ должен существовать до истечения срока действия. Должно быть не менее
60секунд.
- Количество секунд, в течение которых документ должен существовать до истечения срока действия. Должно быть не менее
-
base64bool необязательно- Если указано значение 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
✨ Successdelete
Удалить все указанные ключи в заданном пространстве имён.
wrangler kv:bulk delete --binding= [--env=] [--preview] [--namespace-id=] $FILENAME-
$FILENAMEобязательно- Файл с парами ключ-значение для удаления.
-
--bindingобязательно (если не указано--namespace-id)- Имя пространства имён, из которого нужно удалить.
-
--namespace-idобязательно (если не указано--binding)- ID пространства имен, из которого нужно удалить.
-
--env $ENVIRONMENT_NAMEнеобязательный- Если параметр задан, изменения применяются только к указанному окружению. См. Окружения, где это описано подробнее.
-
--previewнеобязательный- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
kv_namespaces.preview_idвместоkv_namespaces.id
- Работа с пространством имён предварительного просмотра вместо продакшена. Передайте это значение, чтобы использовать в файле Wrangler поле
Эта команда принимает в качестве аргумента JSON-файл со списком пар «ключ-значение» для удаления. Пример входного JSON:
[
{
"key": "test_key",
"value": ""
}
]-
keystringобязательно- Имя ключа. Длина имени не должна превышать 512 байт. Допустимы любые печатаемые символы, кроме пробельных.
-
valuestringобязательно- Это поле необходимо указать для десериализации, но оно не используется, так как переданные ключи удаляются, а не записываются.
Использование
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
✨ 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 <[email protected]>
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)