TiDB Cloud をCloudflare Workers と統合する

Cloudflare ワーカーは、HTTP リクエストやデータベースの変更など、特定のイベントに応じてコードを実行できるプラットフォームです。Cloudflare Workers は使いやすく、カスタム API、サーバーレス関数、マイクロサービスなど、さまざまなアプリケーションの構築に使用できます。特に、低レイテンシーのパフォーマンスが必要なアプリケーションや、迅速に拡張する必要があるアプリケーションに役立ちます。

Cloudflare Workers は直接 TCP 接続できない V8 エンジンで実行されるため、Cloudflare Workers からTiDB Cloudに接続するのは難しい場合があります。1 TiDB Cloudサーバーレス ドライバー使用すると、HTTP 接続を介して Cloudflare Workers に接続できます。

このドキュメントでは、 TiDB Cloudサーバーレス ドライバーを使用して Cloudflare Workers に接続する方法を段階的に説明します。

注記:

TiDB Cloudサーバーレス ドライバーは、 TiDB Cloud Serverless でのみ使用できます。

始める前に

この記事の手順を試す前に、次のものを準備する必要があります。

ステップ1: Wranglerを設定する

ラングラーは公式の Cloudflare Worker CLI です。これを使用して、Worker を生成、構築、プレビュー、公開できます。

  1. Wrangler をインストールします。

    npm install wrangler
  2. Wrangler を認証するには、wrangler login を実行します。

    wrangler login
  3. Wrangler を使用してワーカー プロジェクトを作成します。

    wrangler init tidb-cloud-cloudflare
  4. ターミナルでは、プロジェクトに関連する一連の質問が表示されます。すべての質問に対してデフォルト値を選択します。

ステップ2: サーバーレスドライバーをインストールする

  1. プロジェクト ディレクトリを入力してください:

    cd tidb-cloud-cloudflare
  2. npm を使用してサーバーレス ドライバーをインストールします。

    npm install @tidbcloud/serverless

    これにより、 package.jsonにサーバーレス ドライバーの依存関係が追加されます。

ステップ3: Cloudflare Worker機能を開発する

必要に応じてsrc/index.tsを変更する必要があります。

たとえば、すべてのデータベースを表示する場合は、次のコードを使用できます。

import { connect } from '@tidbcloud/serverless' export interface Env { DATABASE_URL: string; } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { const conn = connect({url:env.DATABASE_URL}) const resp = await conn.execute("show databases") return new Response(JSON.stringify(resp)); }, };

ステップ4: 環境でDATABASE_URLを設定する

DATABASE_URLmysql://username:password@host/database形式に従います。環境変数は wrangler cli で設定できます。

wrangler secret put <DATABASE_URL>

Cloudflare Workers ダッシュボードからDATABASE_URLシークレットを編集することもできます。

ステップ5: Cloudflare Workersに公開する

これで、Cloudflare Workers にデプロイする準備が整いました。

プロジェクト ディレクトリで、次のコマンドを実行します。

npx wrangler publish

ステップ6: Cloudflare Workersを試す

  1. Cloudflareダッシュボードに進み、ワーカーを見つけます。ワーカーの URL は概要ページで確認できます。

  2. URL にアクセスすると結果が表示されます。

Cloudflare Workersの例参照してください。

このページは役に立ちましたか?