跳至主要内容

Prisma Management API 入门

15 分钟

概述

本指南将引导您设置一个基本的 TypeScript 项目,该项目使用 Prisma Postgres Management API 创建一个包含 Prisma Postgres 数据库的新 Prisma Console 项目,并打印出所有连接详细信息。

您将通过服务令牌进行身份验证,设置您的环境,并运行脚本与 API 进行交互。

OpenApi

API 参考也通过 OpenAPI 3.1 规范提供。

先决条件

  • 已安装 Node.js 和 npm
  • 一、帐户

1. 在 Prisma Console 中创建服务令牌

首先,您需要创建一个服务令牌才能访问 Management API

  1. 打开
  2. 导航到您工作区的设置页面,然后选择服务令牌
  3. 点击新建服务令牌
  4. 安全地复制并保存生成的服务令牌,您将在步骤 2.2 中使用它。

2. 设置项目目录

2.1. 创建一个基本的 TypeScript 项目

打开您的终端并运行以下命令

mkdir management-api-demo
cd management-api-demo

接下来,初始化 npm 并安装使用 TypeScript 所需的依赖项

npm init -y
npm install tsx typescript @types/node --save-dev
touch index.ts

现在您有一个 index.ts 文件,您可以使用 npx tsx index.ts 执行它。它仍然是空的,您将在步骤 3 中开始编写代码。

2.2. 配置服务令牌环境变量

创建您的 .env 文件

touch .env

接下来,安装 dotenv 库,用于从 .env 文件加载环境变量

npm install dotenv

最后,将您的服务令牌(来自步骤 1.)添加到 .env

PRISMA_SERVICE_TOKEN="ey..."

2.3. 安装 axios 库用于 HTTP 请求

您将使用 axios 作为 HTTP 客户端与 Management API 交互。按如下方式安装它

npm install axios

您已准备就绪,让我们编写一些代码来创建项目并配置 Prisma Postgres 数据库!

3. 以编程方式创建包含数据库的新项目

将以下代码粘贴到 index.ts

import axios from 'axios';
import dotenv from 'dotenv';

// Load environment variables
dotenv.config();

const API_URL = 'https://api.prisma.io/v1';
const SERVICE_TOKEN = process.env.PRISMA_SERVICE_TOKEN;

if (!SERVICE_TOKEN) {
throw new Error('PRISMA_SERVICE_TOKEN is not set in the environment');
}

// Set HTTP headers to be used in this script
const headers = {
Authorization: `Bearer ${SERVICE_TOKEN}`,
'Content-Type': 'application/json',
};

async function main() {
// Create a new project in your Prisma Console workspace
const projectName = `demo-project-${Date.now()}`;
const region = 'us-east-1';
const createProjectRes = await axios.post(
`${API_URL}/projects`,
{ name: projectName, region },
{ headers }
);
const project = createProjectRes.data;
console.log('Created project: \n', project);

// Log the database details
const apiKeys = project.databases[0].apiKeys || [];
for (const key of apiKeys) {
console.log(`\nDatabase details`);
console.log(`- ID: ${key.id}`);
console.log(`- Created at: ${key.createdAt}`);
console.log(`- API key: ${key.apiKey}`);
console.log(`- Prisma Postgres connection string: ${key.connectionString}`);

if (key.ppgDirectConnection) {
console.log(`- Direct TCP connection: ${key.ppgDirectConnection.host}`);
console.log(` - Host: ${key.ppgDirectConnection.host}`);
console.log(` - Username: ${key.ppgDirectConnection.user}`);
console.log(` - Password: ${key.ppgDirectConnection.pass}`);
}
}
}

main().catch((e) => {
console.error(e.response?.data || e);
process.exit(1);
});

您可以使用以下命令运行脚本

npx tsx index.ts
显示CLI结果
Created project: 
{
createdAt: '2025-07-09T11:52:15.341Z',
id: 'cmcvwftgs00v5zq0vh3kp7pms',
name: 'demo-project-1752061932800',
databases: [
{
createdAt: '2025-07-09T11:52:15.341Z',
id: 'cmcvwftgs00v1zq0v0qrtrg8t',
name: 'demo-project-1752061932800',
connectionString: 'prisma+postgres://accelerate.prisma-data.net/?api_key=<api_key>',
region: 'us-east-1',
status: 'ready',
apiKeys: [Array],
isDefault: true
}
]
}

Database details
- ID: cmcvwftgs00v2zq0vj3v0104j
- Created at: 2025-07-09T11:52:15.341Z
- API key: ey...<actual_api_key>
- Prisma Postgres connection string: prisma+postgres://accelerate.prisma-data.net/?api_key=ey...<actual_api_key>
- Direct TCP connection: db.prisma.io:5432
- Host: db.prisma.io:5432
- Username: <username>
- Password: <password>

您的命令输出应与上述输出类似。

结论

现在您已经设置了一个 TypeScript 项目,它与 Prisma Management API 交互,创建了一个新项目和数据库,并打印出所有连接字符串。您可以扩展此脚本以使用 Management API 管理更多资源或自动化其他任务。


与 Prisma 保持联系

通过以下方式与我们保持联系,继续你的 Prisma 之旅: 我们的活跃社区。保持信息灵通,参与其中,并与其他开发人员协作。

我们真诚地感谢你的参与,并期待你成为我们社区的一部分!

© . This site is unofficial and not affiliated with Prisma Data, Inc.