首页 > 解决方案 > Cosmos DB 数据迁移

问题描述

想为 Cosmos DB 实现我自己的备份机制。为了做到这一点,只想每隔 x 小时抓取一次数据并将其放到其他存储帐户/不同的 cosmos db 实例中。由于我不能使用数据工厂(在我所在的地区不可用),还有其他简单的方法可以从 Cosmos 获取数据并将其放在其他地方吗?我首先想到的是一些 SQL 查询,它们会遍历所有集合并复制它们。有没有更简单的方法?

标签: azureazure-cosmosdbazure-cosmosdb-sqlapi

解决方案


由于您不能使用数据工厂(也许它最适合您),我建议您使用以下两种解决方案:

1. Azure时间触发功能

它支持 CORN 表达式。因此,您可以通过 Cosmos db sdk 查询数据并将它们复制到目标集合中。但是,请注意 Azure 函数有执行时间限制。

2. Azure Cosmos DB 迁移工具

您可以看到该工具可以在命令行中执行。所以,请将命令打包成一个bat文件。然后使用 Windows 计划任务执行该文件。或者,您可以使用Azure Web Job来实现相同的要求。


推荐阅读