Neon
Neon ↗ は完全に管理されたサーバーレス 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.
Neonとの統合を設定するには:
-
接続する既存のNeonデータベースが必要です。Neonデータベースを作成する ↗か、既存のデータベースからNeonにデータをロードする ↗必要があります。
-
Neon SQLエディタを使用して
elementsテーブルを作成します。SQLエディタを使用すると、Neonコンソールから直接データベースをクエリできます。CREATE TABLE elements (id INTEGER NOT NULL,elementName TEXT NOT NULL,atomicNumber INTEGER NOT NULL,symbol TEXT NOT NULL); -
新しく作成したテーブルにデータを挿入します。
INSERT INTO elements (id, elementName, atomicNumber, symbol)VALUES(1, 'Hydrogen', 1, 'H'),(2, 'Helium', 2, 'He'),(3, 'Lithium', 3, 'Li'),(4, 'Beryllium', 4, 'Be'),(5, 'Boron', 5, 'B'),(6, 'Carbon', 6, 'C'),(7, 'Nitrogen', 7, 'N'),(8, 'Oxygen', 8, 'O'),(9, 'Fluorine', 9, 'F'),(10, 'Neon', 10, 'Ne'); -
WorkerにNeonデータベース統合を追加します:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- アカウントホームで、Workers & Pagesを選択します。
- 概要で、Workerを選択します。
- 統合 > Neonを選択します。
- ステップ1で作成したデータベースを選択し、セットアップフローに従います。
-
Worker内で、データベースに接続しデータを操作するために
@neondatabase/serverlessドライバーをインストールします:Terminal window npm install @neondatabase/serverless -
次の例は、Worker内でNeonデータベースにクエリを行う方法を示しています。Neonに接続するために必要な資格情報は、統合を通じて自動的にWorkerのシークレットとして追加されています。
import { Client } from '@neondatabase/serverless';export default {async fetch(request, env, ctx) {const client = new Client(env.DATABASE_URL);await client.connect();const { rows } = await client.query('SELECT * FROM elements');ctx.waitUntil(client.end()); // これはレスポンスを遅延させませんreturn new Response(JSON.stringify(rows));}}
Neonについて詳しくは、Neonの公式ドキュメント ↗を参照してください。