必要なもの
- npm
- DB初期化
npx wrangler d1 execute sora --file=./schema.sql --local- yagi向けトークン設定(ローカルの場合test.shと合わせる) ビルド前に設定しておく必要があります。
export YAGI_TOKEN=628BC5E9-8B13-40A8-8EE3-D3369A28A613- サーバー起動
npx wrangler dev- テスト
./test.sh最後の6行は400系のエラーを返すものです。
Yagi(店内POS)から呼ばれる想定のセンシティブなAPIにはトークン認証が存在します。このトークンはビルド時の環境変数で埋め込むことができるほか、設定しない場合はデフォルト値になります。デフォルト値はtest.shに設定されているものと同様です:
YAGI_TOKEN=628BC5E9-8B13-40A8-8EE3-D3369A28A613OpenAPI互換スキーマがschema.jsonに存在します。
soraはCloudflare Workers + Cloudflare D1で動作することを前提とし、後段のrouter + handlerにaxumを利用しています。wranglerを利用してローカルで動作することもできますが、実際にローカル動作を行う場合はaxum + rusqliteなどへの置き換えを推奨します。
まず、wranglerに認証情報を登録します:
$ npx wrangler login
# ブラウザが開きます次に、D1のデータベースを作成します:
$ npx wrangler d1 create sora作成したDBのUUIDをwrangler.tomlに設定します:
...
database_name = "sora"
database_id = "00000000-0000-0000-0000-000000000000"DBのスキーマを流し込みます:
$ npx wrangler d1 execute sora --file=./schema.sql --remoteworkersにデプロイします:
$ npx wrangler deployGitHub Actionsを有効にしていると、masterにpushした時に自動でデプロイされるようになっています。その際にsecretsに以下の値の設定が必要です:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDYAGI_TOKEN