コンテンツにスキップ

Xata

Xataは、PostgreSQLによって支えられたサーバーレスデータプラットフォームです。Xataは、複数のストレージタイプ(リレーショナルデータベース、検索エンジン、分析エンジン)を一つのサービスにユニークに統合し、一貫したREST APIを通じてアクセス可能です。

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.

Xataとの統合を設定する

Xataとの統合を設定するには:

  1. 接続する既存のXataデータベースが必要です。または、Xataワークスペースから新しいデータベースを作成します。データベースを作成

  2. データベース内で、テーブルを作成するためのいくつかのオプションがあります:ゼロから始める、サンプルデータで埋められたテンプレートを使用する、またはCSVファイルからデータをインポートすることができます。このガイドでは、サンプルデータから始めるを選択します。このオプションは、データベースに2つのサンプルテーブル(PostsUsers)を自動的に追加します。

  3. WorkerにXata統合を追加します:

    1. Cloudflareダッシュボードにログインし、アカウントを選択します。
    2. アカウントホームで、Workers & Pagesを選択します。
    3. 概要で、Workerを選択します。
    4. 統合 > Xataを選択します。
    5. ステップ1で作成したデータベースを選択し、設定フローに従います。
  4. Xata CLIをインストールし、次のコマンドを実行してCLIを認証します:

    Terminal window
    npm install -g @xata.io/cli
    xata auth login
  5. CLIの設定が完了したら、Worker内でプロジェクトのルートディレクトリに次のコードを実行します:

    Terminal window
    xata init

    設定プロセス中にデフォルト設定を受け入れます。完了後、プロジェクトフォルダに.env.xatarcファイルが生成されます。

  6. Cloudflareが開発モードで実行中に生成された秘密値にアクセスできるようにするために、プロジェクトのルートディレクトリに.dev.varsファイルを作成し、次の内容を追加します。プレースホルダーを特定の値に置き換えます:

    XATA_API_KEY=<YOUR_API_KEY_HERE>
    XATA_BRANCH=<YOUR_BRANCH_HERE>
    XATA_DATABASE_URL=<YOUR_DATABASE_URL_HERE>
  7. 次の例は、Worker内でXataデータベースにクエリを行う方法を示しています。Xataに接続するために必要な認証情報は、統合を通じて自動的にWorkerの秘密として追加されています。

    export default {
    async fetch(request, env, ctx): Promise<Response> {
    const xata = new XataClient({
    apiKey: env.XATA_API_KEY,
    branch: env.XATA_BRANCH,
    databaseURL: env.XATA_DATABASE_URL,
    });
    const records = await xata.db.Posts.select([
    "id",
    "title",
    "author.name",
    "author.email",
    "author.bio",
    ]).getAll();
    return Response.json(records);
    },
    } satisfies ExportedHandler<Env>;

Xataについて詳しくは、Xataの公式ドキュメントを参照してください。