--- title: "连接到 DynamoDB" --- :::info Legacy Documentation 您正在查看 Deno Deploy Classic 的旧文档。我们推荐迁移到新的 Deno Deploy 平台。 ::: 亚马逊 DynamoDB 是一个完全托管的 NoSQL 数据库。要将数据持久化到 DynamoDB,请按照以下步骤操作: 本教程假设您拥有 AWS 和 Deno Deploy Classic 帐户。 ## 从 DynamoDB 收集凭证 该过程的第一步是生成 AWS 凭证,以便以编程方式访问 DynamoDB。 生成凭证: 1. 访问 https://console.aws.amazon.com/iam/ 并进入“用户”部分。 2. 点击 **添加用户** 按钮,填写 **用户名** 字段(可以使用 `denamo`),并选择 **编程访问** 类型。 3. 点击 **下一步:权限**,然后点击 **直接附加现有策略**,搜索 `AmazonDynamoDBFullAccess` 并选择它。 4. 点击 **下一步:标签**,然后点击 **下一步:审核**,最后点击 **创建用户**。 5. 点击 **下载 .csv** 按钮以下载凭证。 ## 在 Deno Deploy 中创建项目 接下来,让我们在 Deno Deploy Classic 中创建一个项目并设置所需的环境变量: 1. 访问 [https://dash.deno.com/new](https://dash.deno.com/new)(如果尚未登录,请用 GitHub 登录),然后在 **从命令行部署** 下点击 **+ 空项目**。 2. 现在点击项目页面上的 **设置** 按钮。 3. 导航到 **环境变量** 部分并添加以下密钥。 - `AWS_ACCESS_KEY_ID` - 使用下载的 CSV 中 **访问密钥 ID** 列下的值。 - `AWS_SECRET_ACCESS_KEY` - 使用下载的 CSV 中 **秘密访问密钥** 列下的值。 ## 编写代码以连接到 DynamoDB AWS 提供了一个 [官方 SDK](https://www.npmjs.com/package/@aws-sdk/client-dynamodb),它可以在浏览器中使用。由于大多数 Deno Deploy 的 API 与浏览器类似,因此该 SDK 也可以在 Deno Deploy 中使用。要在 Deno 中使用该 SDK,可以从 CDN 导入,如下所示并创建一个客户端: ```js import { DynamoDBClient, GetItemCommand, PutItemCommand, } from "https://esm.sh/@aws-sdk/client-dynamodb?dts"; // 通过提供您的区域信息创建客户端实例。 // 凭证会从我们在 Deno Deploy 的项目创建步骤中设置的环境变量中自动获取,因此我们不需要在此手动传递它们。 const client = new ApiFactory().makeNew(DynamoDB); serve({ "/songs": handleRequest, }); async function handleRequest(request) { // async/await。 try { const data = await client.send(command); // 处理数据。 } catch (error) { // 错误处理。 } finally { // 最终处理。 } } ``` ## 将应用程序部署到 Deno Deploy 一旦您完成了应用程序的编写,就可以在 Deno Deploy Classic 上部署它。 为此,请返回到您的项目页面,地址为 `https://dash.deno.com/projects/`。 您应该会看到几个部署选项: - [Github 集成](ci_github) - [`deployctl`](./deployctl.md) ```sh deployctl deploy --project= ``` 除非您希望添加构建步骤,否则我们建议您选择 GitHub 集成。 有关在 Deno Deploy 上部署的不同方式和不同配置选项的更多详细信息,请阅读 [这里](how-to-deploy)。