gpt4 book ai didi

azure - 如何使用 Azure Function App 备份 Azure Cosmos DB

转载 作者:行者123 更新时间:2023-12-03 00:08:52 26 4
gpt4 key购买 nike

问题:

我尝试为 Azure Cosmos DB 构建一个备份解决方案,该解决方案定期为我们提供数据库转储,以防我们以编程方式损坏数据库中的数据。问题是 Azure 德国尚不存在数据工厂,我们不能依赖 Azure 的自动备份(仅提供 8 小时)。我不想在云之外使用任何额外的应用程序。

到目前为止我发现了什么:

https://www.npmjs.com/package/mongo-dump-stream

Mongo Dump Stream 应该能够连接到我们的数据库并从中读取数据。

我的想法是在 Azure Functions 中使用此 npm 并将转储结果发送到 blob 存储。

我的问题:

如何将结果发送到 Blob 存储?

能举个具体实现的例子吗?

最佳答案

这个想法是这样的:

不要为整个集合创建备份,而是为更改(增量)创建备份,并保存随时间推移发生的更改。稍后您可以实现恢复机制来遍历增量文件。

以下是实现的概念,但仅适用于您请求的备份机制:

enter image description here

Here是专门的仓库。我还添加了 Azure CLI 脚本来帮助您在 Azure 租户中快速重现我的想法。

一般描述:

  1. 依赖项:azure-storage、unix-timestamp、documentdb
  2. 我有一个时间触发的功能。该频率创建由日期时间戳命名的 blob。
  3. 我将上次导入时间存储在存储表中。
  4. 为了获取增量,我使用 CosmosDb 中任何文档的 _ts 字段。

这种方法的好处:

  1. delta-s 更轻,导入/备份速度更快
  2. 您可以设置增量生成的频率
  3. 恢复时可以看到数据库处于不同的状态

缺点:

  1. 您没有一个文件需要恢复,而是有很多文件

关于azure - 如何使用 Azure Function App 备份 Azure Cosmos DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52111269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com