跳到主要内容

备份

Deno KV 目前处于测试阶段

Deno 的 KV 及其相关的云基元 API,如队列和定时任务,目前仍处于实验性阶段,可能会发生变化。尽管我们尽力确保数据持久性,但特别是在 Deno 更新时,仍然存在数据丢失的可能性。

在启动使用 KV 的 Deno 程序时,需要添加--unstable标志,如下所示:

deno run -A --unstable my_kv_code.ts

Deno Deploy 托管的 KV 数据库可以持续备份到您自己的 S3 兼容存储桶中。这是为了补充我们在托管 Deno KV 数据库中为所有存储的数据执行的复制和备份,以确保高可用性和数据持久性。

这个备份是连续进行的,延迟非常小,可以实现时间点恢复和实时复制。启用 KV 数据库的备份可以解锁各种有趣的用例:

  • 在过去的任何时间点检索数据的一致快照
  • 运行独立于 Deno Deploy 的只读数据副本
  • 将数据推送到您喜欢的数据流水线,通过将突变导入流处理平台和分析数据库,如 Kafka、BigQuery 和 ClickHouse

配置备份到Amazon S3

首先,您必须在 AWS 上创建一个存储桶:

  1. 转到AWS S3控制台
  2. 点击“创建存储桶”
  3. 输入存储桶名称并选择AWS区域,然后向下滚动并点击“下一步”

然后,创建一个 IAM 策略,具有对存储桶的 PutObject 访问权限,将其附加到 IAM 用户上,并为该用户创建访问密钥:

  1. 转到AWS IAM控制台
  2. 在左侧边栏中点击“策略”
  3. 点击“创建策略”
  4. 选择“JSON”策略编辑器并粘贴以下策略:
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "KVBackup",
    "Effect": "Allow",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::<bucket-name>/*"
    }
    ]
    }
    用您之前创建的存储桶名称替换 <bucket-name>
  5. 点击“审核策略”
  6. 为策略输入名称并点击“创建策略”
  7. 在左侧边栏点击“用户”
  8. 点击“添加用户”
  9. 为用户输入名称并点击“下一步”
  10. 点击“直接附加策略”
  11. 搜索您之前创建的策略并勾选其旁边的复选框
  12. 点击“下一步”
  13. 点击“创建用户”
  14. 点击刚创建的用户
  15. 点击“安全凭证”,然后点击“创建访问密钥”
  16. 选择“其他”,然后点击“下一步”
  17. 为访问密钥输入描述并点击“创建访问密钥”
  18. 复制访问密钥 ID 和秘密访问密钥并将它们安全保存。您稍后会需要它们,而且将无法再次检索它们。

现在访问Deno Deploy仪表板,点击项目中的“KV”选项卡。滚动到“备份”部分,点击“AWS S3”。输入您之前创建的存储桶名称、访问密钥 ID 和秘密访问密钥,以及存储桶所在的区域。然

后点击“保存”。

将备份添加到仪表板

备份将立即开始。一旦数据备份完成并连续备份生效,您将看到状态变为“Active”。

配置备份到Google Cloud Storage

Google Cloud Storage (GCS) 兼容 S3 协议,也可以用作备份目标。

首先,您必须在 GCP 上创建一个存储桶:

  1. 转到GCP云存储控制台
  2. 在顶部菜单中点击“创建”
  3. 输入存储桶名称,选择位置,然后点击“创建”

然后,创建一个具有对存储桶的 Storage Object Admin 访问权限的服务帐户,并为该服务帐户创建 HMAC 访问密钥:

  1. 转到GCP IAM控制台
  2. 在左侧边栏点击“服务帐户”
  3. 点击“创建服务帐户”
  4. 为服务帐户输入名称并点击“完成”
  5. 复制刚刚创建的服务帐户的电子邮件。稍后您会需要它。
  6. 转到GCP云存储控制台
  7. 点击您之前创建的存储桶
  8. 在工具栏中点击“权限”
  9. 点击“授予访问权限”
  10. 将您刚刚复制的服务帐户的电子邮件粘贴到“新的主体”字段中
  11. 从“选择角色”下拉菜单中选择“Storage Object Admin”
  12. 点击“保存”
  13. 在左侧边栏点击“设置”(仍然在云存储控制台中)
  14. 点击“互操作性”选项卡
  15. 点击“为服务帐户创建密钥”
  16. 选择您之前创建的服务帐户
  17. 点击“创建密钥”
  18. 复制访问密钥和秘密访问密钥并将它们安全保存。稍后您会需要它们,而且将无法再次检索它们。

现在访问Deno Deploy仪表板,点击项目中的“KV”选项卡。滚动到“备份”部分,点击“Google Cloud Storage”。输入您之前创建的存储桶名称、访问密钥 ID 和秘密访问密钥,以及存储桶所在的区域。然后点击“保存”。

备份将立即开始。一旦数据备份完成并连续备份生效,您将看到状态变为“Active”。

使用备份

S3 备份可以与 denokv 工具一起使用。有关详细信息,请参阅文档