连接到 FaunaDB
FaunaDB 自称是“现代应用程序的数据 API”。它是一个带有 GraphQL 接口的数据库,使您能够使用 GraphQL 与之交互。由于您通过 HTTP 请求与其通信,因此无需管理连接,这非常适合无服务器应用程序。
本教程介绍如何从部署在 Deno Deploy 上的应用程序连接到 Fauna 数据库。
您可以在此处找到一个更全面的教程,它基于 Fauna 构建了一个示例应用程序。
从 Fauna 获取凭据 跳转到标题
我们假设您已经在 https://dashboard.fauna.com 创建了一个 Fauna 实例。
要通过编程方式访问您的 Fauna 数据库,您需要生成凭据
-
在您的特定数据库中点击安全部分,然后点击新密钥。
-
选择服务器角色并点击保存。复制密钥。下一步会用到它。
在 Deno Deploy 中创建项目 跳转到标题
接下来,我们将在 Deno Deploy 上创建一个项目并设置必要的环境变量
- 前往 https://dash.deno.com/new (如果尚未登录,请使用 GitHub 登录),并在从命令行部署下点击+ 空项目。
- 现在点击项目页面上的设置按钮。
- 导航到环境变量部分并添加以下密钥。
FAUNA_SECRET
- 其值应为我们在上一步中创建的密钥。
编写连接到 Fauna 的代码 跳转到标题
虽然 Node.js 有 Fauna JavaScript 驱动程序,但在 Deno 中,您应该使用 GraphQL 端点。
Fauna 为其数据库提供一个 GraphQL 端点,并为模式中定义的数据类型生成基本的变更(mutation),例如创建
、更新
、删除
。例如,Fauna 将生成一个名为createQuote
的变更,用于在数据库中为数据类型Quote
创建一个新的引用。
要与 Fauna 交互,我们需要向其 GraphQL 端点发送一个 POST 请求,并附带适当的查询和参数以获取返回数据。因此,让我们构建一个通用函数来处理这些事情。
import query from "https://esm.sh/faunadb@4.7.1";
import Client from "https://esm.sh/faunadb@4.7.1";
// Grab the secret from the environment.
const token = Deno.env.get("FAUNA_SECRET");
if (!token) {
throw new Error("environment variable FAUNA_SECRET not set");
}
var client = new Client.Client({
secret: token,
// Adjust the endpoint if you are using Region Groups
endpoint: "https://db.fauna.com/",
});
// HEAD
client.query(query.ToDate("2018-06-06"));
//
client
.query(query.ToDate("2018-06-06"))
//1e2f378 (Add some more pages)
.then(function (res) {
console.log("Result:", res);
})
.catch(function (err) {
console.log("Error:", err);
});
将应用程序部署到 Deno Deploy 跳转到标题
完成应用程序编写后,您可以将其部署到 Deno Deploy。
为此,请返回到您的项目页面 https://dash.deno.com/projects/<project-name>
。
您应该会看到几个部署选项
除非您想添加构建步骤,否则我们建议您选择 GitHub 集成。
有关在 Deno Deploy 上部署的不同方式和不同配置选项的更多详细信息,请阅读此处。