跳至主要内容

备份

Deno KV 目前处于测试阶段

Deno KV 和相关的云原生 API(如队列和 cron)目前处于**实验阶段**,**可能会发生变化**。虽然我们尽力确保数据持久性,但数据丢失是可能的,尤其是在 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 区域,然后向下滚动并单击“下一步”

然后,创建一个具有对存储桶的 PutObject 访问权限的 IAM 策略,将其附加到 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 和密钥访问密钥,以及存储桶所在的区域。然后点击“保存”。

add backup to dashboard

备份将立即开始。数据备份完成后,并且持续备份处于活动状态,您将看到状态更改为“活动”。

配置备份到 Google Cloud Storage

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

首先,您需要在 GCP 上创建一个存储桶。

  1. 访问 GCP Cloud Storage 控制台
  2. 点击顶部的“创建”按钮。
  3. 输入存储桶名称,选择位置,然后点击“创建”。

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

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

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

备份将立即开始。数据备份完成后,并且持续备份处于活动状态,您将看到状态更改为“活动”。

使用备份

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