Cloudflareを使用した開発環境のリソースを確認する

Cloudflareを使用した開発をしている時のリソースの確認方法をメモします。

使用しているリソース

ローカルで開発中は、wrangler dev で動作確認します。

wrangler dev や wrangler deploy では、--env を指定することで 使用する environment を指定できます。
wrangler environmentsを確認してください。

wrangler devでは、--remote を指定することで remote のリソースを使用することができます。
wrangler devを確認してください。

wrangler コマンドの中で --remote--local のオプションがあり、コマンドにより指定の方法が異なります。

リソースの確認方法

env

wrangler.toml や .dev.vars ファイルで管理する。

wrangler.toml

wrangler.tomlに環境毎に値を定義することができる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
name = "my-worker"
route = "dev.example.com/*"
vars = { ENVIRONMENT = "dev" }

[env.staging]
vars = { ENVIRONMENT = "staging" }
route = "staging.example.com/*"

[env.production]
vars = { ENVIRONMENT = "production" }
routes = [
"example.com/foo/*",
"example.com/bar/*"
]

.dev.vars

wrangler dev を使用している場合、ルートディレクトリに.dev.varsファイルを置くことで、wrangler.tomlの値を上書きできる。
wrangler environment variablesを確認してください。

KV

envで指定しているKVを使用する。
wrangler dev の場合、localが使用される。
--remote optionを指定し wrangler dev --remote とすると remote のリソースを使用することができる。
wrangler dev --remote では preview_id のリソースを使用することができる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
kv_namespaces = [
    {   
        binding = "MY_KV", 
        id = "AAAAA9569fe94cc6ae9a35f4b65ZZZZZ", 
        preview_id="AAAAAb0121e34942b900ad2e8a3ZZZZZ"
    }
]

[env.production]
kv_namespaces = [
    { 
        binding = "MY_KV",
        id = "AAAAAproduction6ae9a35f4b65ZZZZZ"
    }
]

KV namespace の作成

KV namespace を作成するときに、envとpreviewを指定できる。

1
wrangler kv namespace create "MY_KV"

1
wrangler kv namespace create "MY_KV" --preview --env staging
preview や env のオプションの指定は namespace の名前にだけ影響があるように見える。

KV key の作成と値の設定

対象のKV の値の確認や設定時、 binding か namespace-id で対象のKVを指定する。
binding には、binding の値
namespace-id には、id または preview-id の値
bindingに指定する名前は、wrangler.tomlにある名前を指定する。`kv namespace’のtitleではない。
remote についてはcloudflareのコンソール画面から確認や設定ができる。
local についてはコマンドで確認や設定を行う。

remote を確認する場合
1
wrangler kv key list --binding=<BINDING>
remote の preview を確認する場合
1
wrangler kv key list --binding=<BINDING> --preview
local を確認する場合

--local を指定する。

1
wrangler kv key list --binding=<BINDING> --local

jq が install 済みであれば、下記のようにするとkeyだけが取得できる。

1
wrangler kv key list --binding=<BINDING> | jq ".[].name"

wrangler kv list
wrangler kv get
wrangler kv put

d1

envで指定しているd1を使用する。
wrangler dev の場合、localが使用される。
--remote optionを指定し wrangler dev --remote とすると remote のリソースを使用することができる。
wrangler dev --remote では preview_id のリソースを使用することができる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
d1_databases = [
    { 
        binding = "<BINDING_NAME_1>", 
        database_name = "<DATABASE_NAME_1>", 
        database_id = "<UUID1>", 
        preview_database_id = "<UUID1-1>" 
    },
]

[env.production]
d1_databases = [
    { 
        binding = "<BINDING_NAME_2>", 
        database_name = "<DATABASE_NAME_2>", 
        database_id = "<UUID2>" 
    },
]

dbの作成

d1 を作成する。

1
wrangler d1 create <DATABASE_NAME>

d1作成の場合は、作成時に preview オプションの指定はない。

queryの実行

対象のd1 を DATABASE_NAME で指定する。
wrangler.tomlにある binding で指定しない。

remote を確認する場合

--remote オプションを指定する

1
wrangler d1 execute <DATABASE_NAME> --remote --command "select * from table1"

remote の preview を確認する場合

--preview オプションを指定する
--remote オプションを同時に指定する
wrangler.tomlにある 対象のDATABASE_NAME に preview_database_id を記載しておく必要がある。

1
wrangler d1 execute <DATABASE_NAME> --remote --preview --command "select * from table1"

local を確認する場合

--local オプションが存在するが、defaultで true のため、指定は不要。

1
wrangler d1 execute <DATABASE_NAME> --command "select * from table1"

databaseコマンド

PRAGMAコマンドでテーブルの一覧やインデックスの一覧の取得が可能

1
wrangler d1 execute <DATABASE_NAME> --command "PRAGMA table_list"

Database commands SQLite PRAGMA statement

Last Mod: Aug 3, 2024