首页 > 解决方案 > 如何在特定阶段将数据从 azure cosmos db 备份到 azure blob?

问题描述

我有 Azure cosmos DB 帐户,我想做的是使用我的节点应用程序将一个月前的数据从 azure cosmos DB 备份到 Azure blob 存储。我已经创建了管道并通过使用 Nodejs 的创建运行管道 API(使用 Azure 数据工厂)触发了它。但是我无法弄清楚如何使管道对从当前日期开始一个月前的数据进行选择性处理。对此有什么建议吗?

编辑:实际上我想每天运行 API,以便它备份一个月前的数据。例如,假设我今天在我的 cosmos DB 中获得 100 个条目,因此管道应选择当前日期 - 30 天的数据并应备份它,以便在任何时候我的 Azure cosmos DB 仅包含最近 30 天的数据并休息备份到 Azure blob。

标签: node.jsazureazure-cosmosdbazure-blob-storageazure-data-factory

解决方案


只是对@David的回答的补充。如果您的意思是 Cosmos DB SQL API,它具有基于此链接的自动备份机制:Automatic and online backups

借助 Azure Cosmos DB,不仅您的数据,而且您的数据备份都具有高度冗余性,并且能够抵御区域性灾难。当前每四个小时进行一次自动备份,并且在任何时间点都会存储最新的两个备份。如果你意外删除或损坏了数据,应在八小时内联系 Azure 支持,以便 Azure Cosmos DB 团队可以帮助你从备份中恢复数据。

但是,您不能直接访问此备份。仅当启动备份还原时,Azure Cosmos DB 才会使用此备份。

但是该文档提供了两个选项来管理您自己的备份。

  • 1.使用 Azure 数据工厂定期将数据移动到您选择的存储中。
  • 2.使用 Azure Cosmos DB 更改源定期读取数据以进行完整备份以及增量更改,并将其存储在您自己的存储中。

您可以使用触发ADF中的复制活动来传输计划中的数据。如果您想按日期过滤数据,您可以了解cosmos db中的_ts,它代表数据的最新修改时间。


推荐阅读