CloudFlareWorkersでシンプルなAPIを作る(Rust)

ゴール

unixtime を投げて時刻を返す API を作ります。

準備

# target設定
rustup target add wasm32-unknown-unknown

# ブラウザが開くので、Allowを押す
yarn global add wrangler
wrangler login

プロジェクト作成

公式ガイドに従ってテンプレートからプロジェクトを生成します

npx wrangler generate unix_time_formatter https://github.com/cloudflare/workers-sdk/templates/experimental/worker-rust
cd unix_time_formatter

開発環境での実行

wrangler dev

テンプレートのコードはリクエストが来たら"Hello, World!"返すようになっているので、確認します テンプレート

curl localhost:8787
Hello, World!

コードの変更

Chrono を使って unixtime を yyyy/mm/dd (曜日) HH:MM:SS で返すようにします 変更後のコード

動作確認

(wrangler dev している状態で保存をするとホットリロードが走って自動で更新されます)

curl -X GET http://127.0.0.1:8787/$(date +%s)
2023/7/21(Fri) 08:51:05

デプロイ

wrangler publish

# Published worker-rust (0.29 sec)
# URLが発行されます

本番での動作確認

wrangler publish すると URL が発行されるので

curl -X GET [ここに発行されたURLを入れてください]/$(date +%s)
2023/7/21(Fri) 08:52:33