コンテンツにスキップ

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との統合を設定するには:

  1. 接続する既存のSupabaseデータベースが必要です。Supabaseデータベースを作成するか、Supabaseに接続してデータをロードする既存のデータベースを持っている必要があります

  2. 次のクエリを使用してcountriesテーブルを作成します。Supabaseダッシュボードでテーブルを作成する方法は2つあります:

    • スプレッドシートのようにPostgresを設定できるテーブルエディタを使用します。
    • あるいは、SQLエディタを使用します:
    CREATE TABLE countries (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL
    );
  3. 新しく作成したテーブルにデータを挿入します。次のコマンドを実行して、テーブルに国を追加します:

    INSERT INTO countries (name) VALUES ('United States');
    INSERT INTO countries (name) VALUES ('Canada');
    INSERT INTO countries (name) VALUES ('The Netherlands');
  4. WorkerにSupabaseデータベース統合を追加します:

    1. Cloudflareダッシュボードにログインし、アカウントを選択します。
    2. アカウントホームで、Workers & Pagesを選択します。
    3. 概要で、Workerを選択します。
    4. 統合 > Supabaseを選択します。
    5. ステップ1で作成したデータベースを選択し、セットアップフローに従います。
  5. Worker内で、データベースに接続しデータを操作するために@supabase/supabase-jsドライバをインストールします:

    Terminal window
    npm install @supabase/supabase-js
  6. 次の例は、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の公式ドキュメントを参照してください。