概要
Cloudflare WorkersにおいてRustがサポートされたので検証してみます
cratesはこちらです
ブラウザからCloudflare Workersの初期設定を行う
アカウントを作成する
Cloudflareのアカウントを作成してログインします
https://dash.cloudflare.com/
Workersの初期設定を行う
*.workers.dev
というサブドメインを設定します
「CLIクイックスタート」と「APIトークン」のリンクがあります
Cloudflare Workersの編集権限を持つAPIトークンを作成する
「Cloudflare Workersを編集する」のテンプレートを利用します
APIトークンを作成したら、CLIからAPIトークンが有効かどうか確認できます
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Content-Type:application/json"
{"result":{"id":"ef760f6d7d396a80fe1f42eb9d649861","status":"active","not_before":"2021-09-28T00:00:00Z","expires_on":"2021-10-03T23:59:59Z"},"success":true,"errors":[],"messages":[{"code":10000,"message":"This API Token is valid and active","type":null}]}
CLIツールの設定を行う
CLIツールをインストールする
npm i @cloudflare/wrangler -g
wrangler -V
wrangler 1.19.3
Cloudflareのアカウントを認証する
wrangler login
~/.wrangler/config/default.toml
にトークンが保存されています
cat ~/.wrangler/config/default.toml
oauth_token = "xxxxxxxxxxxxxxxxxxxxxxxx"
refresh_token = "xxxxxxxxxxxxxxxxxxxxxxxx"
expiration_time = "2021-09-29T01:12:49.834253+00:00"
プロジェクトを作成する
rustのテンプレートを使います
wrangler generate cw-rust https://github.com/cloudflare/rustwasm-worker-template
buildしてdevサーバーを立ち上げる
wrangler dev
build
ディレクトリへ WebAssemblyが生成されます
ls build/worker/
export_wasm.mjs index_bg.mjs index_bg.wasm shim.mjs
以下のようにローカルでAPIの動作確認を行うことができます
curl -X POST 'http://127.0.0.1:8787/form/test' -d 'test=test data'
{"test":"test data"}
デプロイする
wrangler publish
作成したプロジェクト名をサブドメインとしたエンドポイントが作成されてアクセスできます
https://cw-rust.xxxxxxx.workers.dev/