INTEGRITY Dokumentace

Příkazy

Úplný seznam všech příkazů dostupných pro wrangler, rozhraní příkazové řádky Workers.


vygenerovat

Vytvořte projekt Cloudflare Workers z veřejného repozitáře GitHub.

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

Výchozí hodnoty jsou označeny jako =value.


init

Vytvořte kostru Konfigurační soubor Wrangler v existujícím adresáři. Tento příkaz lze použít jako alternativu k generate pokud dáváte přednost tomu naklonovat si šablonu repozitáře sami, nebo už máte projekt v JavaScriptu a chcete použít Wrangler.

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

Výchozí hodnoty jsou označeny jako =value.


sestavení

Sestavte svůj projekt (pokud je to relevantní). Tento příkaz zkontroluje váš soubor Wrangler a reaguje na "type" hodnota zadáno.

Při použití type = "webpack", Wrangler sestaví Worker pomocí své interní instalace webpacku. Při použití type = "javascript" , build.command, pokud je definován, spustí se.

wrangler build [--env $ENVIRONMENT_NAME]

login

Autorizujte Wrangler ke svému účtu Cloudflare. V prohlížeči se otevře přihlašovací stránka a budou vyžádána oprávnění k přístupu k vašemu účtu. Tento příkaz je alternativou k wrangler config a používá tokeny OAuth.

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

Všechny argumenty a příznaky tohoto příkazu jsou volitelné:

wrangler login ve výchozím nastavení používá všechny dostupné scopes, pokud nejsou zadány žádné příznaky.


logout

Odebere autorizaci nástroje Wrangler k přístupu k vašemu účtu. Tento příkaz zneplatní váš aktuální token OAuth a smaže konfigurační soubor, pokud existuje.

wrangler logout

Tento příkaz zneplatní pouze OAuth tokeny získané prostřednictvím wrangler login příkaz. Konfigurační soubor se však pokusí odstranit bez ohledu na použitou metodu autorizace.

Chcete-li odstranit svůj API token:

  1. V dashboardu Cloudflare přejděte na Workers & Pages stránce.

    Přejděte na Workers & Pages ↗
  2. V Přehled > Získat API token v pravém postranním menu.

  3. Klikněte na nabídku tří teček u vašeho tokenu Wrangler a vyberte Smazat.


konfigurace

Nakonfigurujte Wrangler tak, aby pro přístup ke zdrojům účtu a jejich správu používal Cloudflare API Token nebo Global API key místo OAuth tokenů.

wrangler config [--api-key]

K ověření můžete také použít proměnné prostředí, nebo wrangler login pro autorizaci pomocí tokenů OAuth.


publikovat

Publikujte svůj Worker na Cloudflare. Několik klíčů ve vašem souboru Wrangler určuje, zda publikujete do *.workers.dev subdoménu nebo vlastní doménu. Vlastní domény ale musí být proxované (orange cloud) přes Cloudflare. Podrobnosti najdete v Úvodní návod s dalšími informacemi.

wrangler publish [--env $ENVIRONMENT_NAME]

Chcete-li použít tento příkaz, jsou v souboru Wrangler vyžadována následující pole:

Můžete publikovat do <your-worker>.<your-subdomain>.workers.dev nebo na vlastní doménu.

Když publikujete změny existujícího skriptu Workeru, všechny nové požadavky se automaticky přesměrují na aktualizovanou verzi Workeru bez výpadku. Požadavky, které jsou právě zpracovávané, poběží na předchozí verzi až do dokončení. Jakmile všechny tyto požadavky doběhnou, předchozí verze Workeru se odstraní a přestane zpracovávat požadavky.

Publikování na workers.dev

Chcete-li publikovat na *.workers.dev, nejprve budete potřebovat zaregistrovanou subdoménu. Subdoménu můžete zaregistrovat spuštěním wrangler subdomain příkazu.

Jakmile zaregistrujete subdoménu, přidejte workers_dev do souboru Wrangler.

Publikování na vlastní doménu

Chcete-li publikovat na vlastní doméně, uveďte v souboru Wrangler tato tři pole.

Publikování stejného kódu na více domén

Chcete-li publikovat svůj kód na více doménách, přečtěte si dokumentace k prostředím.


dev

wrangler dev je příkaz, který vytvoří připojení mezi localhost a globálního síťového serveru, který provozuje váš Worker během vývoje. cloudflared tunel přeposílá všechny requesty na server globální sítě, který se neustále aktualizuje s tím, jak se mění kód vašeho Workeru. To umožňuje plný přístup ke Workers KV, Durable Objects a dalším produktům Cloudflare developer platform. dev příkaz slouží k testování Workeru během vývoje.

wrangler dev [--env $ENVIRONMENT_NAME] [--ip <ip>] [--port <port>] [--host <host>] [--local-protocol <http|https>] [--upstream-protocol <http|https>]

Tyto argumenty lze také nastavit v souboru Wrangler. Více informací najdete v wrangler dev konfigurace dokumentaci, kde najdete další informace.

Použití

Měli byste spustit wrangler dev z adresáře vašeho Workeru. Wrangler spustí lokální server, který bude přijímat požadavky, spouštět váš Worker a přeposílat je hostiteli. Pokud chcete použít jiného hostitele než vaši zónu nebo tutorials.cloudflare.com, můžete zadat pomocí --host example.com.

wrangler dev
💁  JavaScript project found. Skipping unnecessary build!
💁  watching "./"
👂  Listening on http://127.0.0.1:8787

S wrangler dev běží, můžete odesílat HTTP požadavky na localhost:8787 a váš Worker by se měl spustit podle očekávání. Uvidíte také console.log zprávy a výjimky zobrazující se ve vašem terminálu. Pokud se nic z toho nezobrazí nebo si myslíte, že výstup je nesprávný, nahlásit problém.


tail

Spusťte relaci pro živé streamování protokolů z nasazeného Workeru.

wrangler tail [--format $FORMAT] [--status $STATUS] [OPTIONS]

Po spuštění wrangler tail v adresáři s projektem, získáte živý přehled protokolů konzole a výjimek pro každý požadavek, který váš Worker přijme.

Stejně jako u všech příkazů Wrangler spusťte wrangler tail z kořenového adresáře vašeho Workeru (adresáře, kde se nachází váš soubor Wrangler).


náhled

Zobrazte náhled svého projektu pomocí náhledová služba Cloudflare Workers.

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

Výchozí hodnoty jsou označeny jako =value.

kv_namespaces

Pokud používáte kv_namespaces hodnotou wrangler preview, budete muset zadat preview_id ve vašem souboru Wrangler, než budete moci spustit relaci. Je to proto, abyste během vývoje omylem nezapsali změny do svého produkčního jmenného prostoru. Můžete provést preview_id rovné id pokud chcete zobrazit náhled s vaším produkčním jmenným prostorem, měli byste se však ujistit, že nezapisujete do KV hodnoty, které by mohly poškodit váš produkční Worker.

Chcete-li vytvořit preview_id spusťte:

wrangler kv:namespace create --preview "NAMESPACE"

Náhled ve Windows Subsystem for Linux (WSL 1/2)

Nastavení $BROWSER na binární soubor vašeho prohlížeče

WSL je linuxové prostředí, Wrangler se proto pokouší spustit xdg-open k otevření vašeho prohlížeče. Aby wrangler preview fungovaly s WSL, měli byste nastavit své $BROWSER na cestu k binárnímu souboru vašeho prohlížeče:

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

Mezery v cestách k souborům nejsou v Linuxu obvyklé a některé programy, jako xdg-open se zastaví na cesty s mezerami. Tento problém můžete obejít propojením binárního souboru s vaší /usr/local/bin:

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

Nastavení $BROWSER na wsl-open

Další možností je nainstalovat wsl-open a nastavte $BROWSER proměnná prostředí na wsl-open prostřednictvím wsl-open -w. Tím je zajištěno, že xdg-open používá wsl-open při pokusu o otevření vašeho prohlížeče.

Pokud používáte WSL 2, budete muset nainstalovat wsl-open po jejich samostatná metoda místo prostřednictvím npm. Je to proto, že jejich npm balíček zatím nebyl aktualizován o podporu WSL 2.


route

Vypsat nebo odstranit trasu přiřazenou k doméně:

wrangler route list [--env $ENVIRONMENT_NAME]

Výchozí hodnoty jsou označeny jako =value.

Tento příkaz předá odpověď JSON z Rozhraní API pro výpis tras. Každý objekt v seznamu JSON bude obsahovat ID trasy, vzor trasy a název přiřazeného Workeru pro danou trasu. Pokud tento výstup přesměrujete rourou do nástroje, jako je jq výstup pěkně vykreslí.

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

Výchozí hodnoty jsou označeny jako =value.


subdoména

Vytvořte nebo změňte svůj *.workers.dev subdoména.

wrangler subdomain <name>

secret

Pracujte se svými secrets.

put

Vytvořte nebo nahraďte tajný klíč.

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:

Budete vyzváni k zadání hodnoty secretu. Tento příkaz může přijímat vstup přes rouru (pipe), takže je možný i následující příklad:

echo "-----BEGIN PRIVATE KEY-----\nM...==\n-----END PRIVATE KEY-----\n" | wrangler secret put PRIVATE_KEY

delete

Odstranit tajemství z konkrétního skriptu.

wrangler secret delete <name> --env ENVIRONMENT_NAME

list

Vypsat názvy všech tajných klíčů svázaných s konkrétním skriptem.

wrangler secret list --env ENVIRONMENT_NAME

kv

kv podpříkaz umožňuje ukládat data aplikace do sítě Cloudflare tak, aby k nim bylo možné přistupovat z Workers pomocí Workers KV. Operace KV jsou vázané na váš účet, takže pro použití kterékoli z těchto příkazů musíte:

Začínáme

Chcete-li s Workerem používat Workers KV, musíte nejprve vytvořit KV namespace. To se provede pomocí kv:namespace podpříkaz.

kv:namespace podpříkaz jako argument přijímá název nového bindingu. Workers KV namespace se vytvoří spojením názvu vašeho Workeru (z vašeho souboru Wrangler) a názvu bindingu, který zadáte:

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" }
]

Úspěšné operace vypíšou nový konfigurační blok, který byste měli zkopírovat do svého souboru Wrangler. Přidejte výstup do stávajícího kv_namespaces konfigurace, pokud již existuje. Nyní můžete k vazbě přistupovat z Workeru:

let value = await MY_KV.get("my-key");

Chcete-li pomocí Wrangler zapsat hodnotu do KV namespace, spusťte wrangler kv:key put podpříkaz.

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

Místo --binding, můžete použít --namespace-id pro určení, který KV namespace má operaci obdržet:

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

Jmenné prostory KV lze navíc používat společně s prostředími. To se hodí, pokud máte kód, který odkazuje na vazbu KV, například MY_KV, a chcete, aby tyto vazby mohly směřovat do různých namespaců (například jeden pro staging a jeden pro produkci).

Soubor Wrangler se dvěma prostředími:

{
	"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"

Chcete-li vložit hodnotu do konkrétního KV namespace, můžete použít:

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

Protože --namespace-id je vždy jedinečný (na rozdíl od názvů bindingů), nemusíte zadávat --env argument.

Základní pojmy

Většina kv příkazy vyžadují zadání jmenného prostoru. Jmenný prostor lze zadat dvěma způsoby:

  1. S --binding:

    wrangler kv:key get --binding=MY_KV "my key"
    • To lze kombinovat s --preview příznak pro práci s přípravným jmenným prostorem místo produkčního.
  2. S --namespace-id:

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

Většina kv podpříkazy vám také umožňují určit prostředí pomocí volitelného --env příznak. Díky tomu můžete nasazovat Workers se stejným kódem, ale s odlišnými jmennými prostory. Ve svém souboru Wrangler tak můžete mít například samostatné jmenné prostory KV dat pro staging a produkci:

{
	"$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"

S výše uvedeným souborem Wrangler můžete zadat --env production když chcete provést akci KV nad namespace MY_KV v části env.production. Například pomocí výše uvedeného konfiguračního souboru Wrangler můžete získat hodnotu z produkční instance KV takto:

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

Další informace o prostředích naleznete v Prostředí.

kv:namespace

create

Vytvořte nový namespace.

wrangler kv:namespace create $NAME [--env=$ENVIRONMENT_NAME] [--preview]
Použití
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

Vypsat všechny jmenné prostory KV přiřazené k ID účtu.

wrangler kv:namespace list
Použití

Tento příklad předává příkaz Wrangler prostřednictvím jq příkaz:

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

delete

Odstranit zadaný namespace.

wrangler kv:namespace delete --binding= [--namespace-id=]
Použití
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

Zapište jednu dvojici klíč-hodnota do konkrétního jmenného prostoru.

wrangler kv:key put --binding= [--namespace-id=] $KEY $VALUE
✨  Success
Použití
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

Vypíše seznam všech klíčů v daném jmenném prostoru.

wrangler kv:key list --binding= [--namespace-id=] [--prefix] [--env]
Použití

Tento příklad předává příkaz Wrangler prostřednictvím jq příkaz:

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

Přečte jednu hodnotu podle klíče z daného jmenného prostoru.

wrangler kv:key get --binding= [--env=] [--preview] [--namespace-id=] "$KEY"
Použití
wrangler kv:key get --binding=MY_KV "key"
value

delete

Odebere jeden pár klíč-hodnota z daného jmenného prostoru.

wrangler kv:key delete --binding= [--env=] [--preview] [--namespace-id=] "$KEY"
Použití
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

Zapište do daného jmenného prostoru soubor plný dvojic klíč-hodnota.

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

Tento příkaz jako argument přijímá soubor JSON se seznamem dvojic klíč-hodnota, které se mají nahrát. Příklad vstupu JSON:

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

Chcete-li uložit data JSON, přetypujte value na řetězec:

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

Níže uvedené schéma je úplné schéma pro položky klíč-hodnota nahrané přes bulk API:

Pokud obě expiration a expiration_ttl jsou zadány pro daný klíč, API upřednostní expiration_ttl.

Použití
wrangler kv:bulk put --binding=MY_KV allthethingsupload.json
🌀  uploading 1 key value pairs
✨  Success

delete

Odstranit všechny zadané klíče v daném namespace.

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

Tento příkaz jako argument přijímá soubor JSON se seznamem dvojic klíč-hodnota, které se mají odstranit. Příklad vstupu JSON:

[
	{
		"key": "test_key",
		"value": ""
	}
]
Použití
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

Proměnné prostředí

Wrangler podporuje jakýkoli Konfigurační soubor Wrangler klíčů předaných jako proměnné prostředí. Funguje to tak, že se předá CF_ + jakýkoli klíč TOML velkými písmeny. Například:

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)