Supabase
Supabase ↗ は、オープンソースのFirebaseの代替であり、リアルタイム機能、データベースバックアップ、拡張機能を提供するPostgreSQLデータベースサービスです。Supabaseを使用すると、開発者は迅速にPostgreSQLデータベースをセットアップし、アプリケーションを構築できます。
Database Integrations allow you to connect to a database from your Worker by getting the right configuration from your database provider and adding it as secrets to your Worker.
Supabaseとの統合を設定するには:
-
接続する既存のSupabaseデータベースが必要です。Supabaseデータベースを作成する ↗か、Supabaseに接続してデータをロードする既存のデータベースを持っている必要があります ↗。
-
次のクエリを使用して
countriesテーブルを作成します。Supabaseダッシュボードでテーブルを作成する方法は2つあります:- スプレッドシートのようにPostgresを設定できるテーブルエディタを使用します。
- あるいは、SQLエディタ ↗を使用します:
CREATE TABLE countries (id SERIAL PRIMARY KEY,name VARCHAR(255) NOT NULL); -
新しく作成したテーブルにデータを挿入します。次のコマンドを実行して、テーブルに国を追加します:
INSERT INTO countries (name) VALUES ('United States');INSERT INTO countries (name) VALUES ('Canada');INSERT INTO countries (name) VALUES ('The Netherlands'); -
WorkerにSupabaseデータベース統合を追加します:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- アカウントホームで、Workers & Pagesを選択します。
- 概要で、Workerを選択します。
- 統合 > Supabaseを選択します。
- ステップ1で作成したデータベースを選択し、セットアップフローに従います。
-
Worker内で、データベースに接続しデータを操作するために
@supabase/supabase-jsドライバをインストールします:Terminal window npm install @supabase/supabase-js -
次の例は、Worker内でSupabaseデータベースにクエリを行う方法を示しています。Supabaseに接続するために必要な資格情報は、統合を通じて自動的にWorkerのシークレットとして追加されています。
import { createClient } from '@supabase/supabase-js';export default {async fetch(request, env) {const supabase = createClient(env.SUPABASE_URL, env.SUPABASE_KEY);const { data, error } = await supabase.from("countries").select('*');if (error) throw error;return new Response(JSON.stringify(data), {headers: {"Content-Type": "application/json",},});},};
Supabaseについて詳しくは、Supabaseの公式ドキュメント ↗を参照してください。