2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Cloudflare WorkersでRustを使う

Last updated at Posted at 2021-09-29

概要

Cloudflare WorkersにおいてRustがサポートされたので検証してみます

cratesはこちらです

ブラウザからCloudflare Workersの初期設定を行う

アカウントを作成する

Cloudflareのアカウントを作成してログインします
https://dash.cloudflare.com/

今回は「Workers」を使っていきます
Screen Shot 2021-09-29 at 8.51.16.png

Workersの初期設定を行う

*.workers.dev というサブドメインを設定します

Screen Shot 2021-09-29 at 7.07.19.png

「CLIクイックスタート」と「APIトークン」のリンクがあります

Cloudflare Workersの編集権限を持つAPIトークンを作成する

「トークンを作成する」からトークンを作成していきます
Screen Shot 2021-09-29 at 7.26.14.png

「Cloudflare Workersを編集する」のテンプレートを利用します
Screen Shot 2021-09-29 at 7.26.23.png

Screen Shot 2021-09-29 at 8.59.46.png

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

ブラウザからCLIからのアクセス許可を行います
Screen Shot 2021-09-29 at 7.32.19.png

~/.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/

参考資料

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?