Cloudflare Workersで使えるAPI Gatewayを紹介します。
(github.com/day1swhan)Cloudflare Workersのようにnpmを使えない環境で、"カチッ"とすぐ使えるAPI Gatewayを紹介します。
Workersを使ったAPIサーバーを運用している中で、Switch文でリクエストを処理するのにうんざりして、Express.jsスタイルのAPI Gatewayを作ることになりました。
Express.jsを使ったことがある方にはおなじみのミドルウェアやエラーハンドラーをサポートしており、運用環境でよく必要になるURL Params、QueryString、Cookieも、別途ミドルウェアを使う必要がないよう基本でパースして提供します。
追加でサポートするAPIは以下の通りです。
-
Context API:
waitUntil関数を使うことで、DBのPutItemのような処理を非同期で実行し、ユーザーにBlockingのないレスポンスを提供できます。 -
Binding API: R2、KV Store などのCloudflareサービスを利用できます。
追加のヒント)
- Workersの無料プランはCPU timeが10msに制限されています。
- ただし、Fetchのような外部サービスのI/O処理にかかる時間はカウントされません。
- CPU intensiveな処理でない大半のリクエストは、1〜2msで十分です。
8件のコメント
追記) 内部の動作原理が気になる方は、開発記を読んでみることをおすすめします。
まずは……応援しています。ファイト!!!
honoいいですね……私も
honoを使ってみましたが……よくできています……ありがとうございます(笑)。やはり頭にきて自分で直接作る前に、まず検索してみる習慣が大事なようですね……(笑)
前に
honoも便利でしたねこれも興味深いですね
ありがとうございます(笑)
類似のフレームワークとして、https://hono.dev/ も一度調べてみることをおすすめします。
開発者はそもそも Cloudflare 所属でもありますし。
えっ…ありがとうございます(笑)
Cloudflare Workers で利用できる API Gateway の基本的な使い方と活用事例です。