从过去30天的天蓝色表存储中复制数据

问题描述 投票:0回答:1

我们正在将手动管理的生产环境迁移到Terraform,并且在此过程中将重新创建环境所需的所有资源。存储帐户就是这种资源之一。

我们有一个存储帐户,该帐户具有接近1500多个表,每个表包含数百万条记录,每个记录都附带时间戳。在迁移期间,我们最有兴趣复制过去30天的记录。

我想知道是否有一种工具可以帮助我们最有效地执行此复制操作,并且更节省时间。

我们调查了Azcopy,但它只允许我们进行一对一复制,复制数十亿条记录可能要花费几天的时间,而据我在网上了解到的那样,Azcopy不支持仅从特定时间戳复制几天的查询。

将有助于深入了解我们可以用来实现此目标的不同工具和技术。

azure azure-storage azure-table-storage
1个回答
0
投票

据我所知,还没有这样的工具可以从指定的时间戳复制表存储。您应该编写自己的逻辑以从指定的时间戳中进行选择,但这会导致性能下降。

[这里,我建议您可以使用名为EastFive.Azure.Storage.Backup的工具。它支持将Azure Blob / Azure表存储复制到新的存储帐户。对于天蓝色表存储,它支持指定partition_key的副本数组,但不支持指定时间戳。

如果您对此感兴趣,可以按照以下简单步骤操作:

1。在D驱动器中创建一个名为“ backup”的文件夹,然后将Prerequisites中提到的所有4个项目下载到D:\ backup。

2。解压缩所有4个项目,并在Visual Studio中逐个打开它们->在Visual Studio的manage nuget包中,更新所有旧包->逐个构建它们,确保每个都被构建成功。

3。在EastFive.Azure.Storage.Backup项目中打开backup.json,填写您的sourceConnectionStringtargetConnectionString

如果您不想复制Blob,只需删除Blob。

对于末尾的timeLocal字段,表示何时根据您的本地时间运行复制活动。

4。您可以install it as a service,并启动服务以运行复制活动。

我在我旁边进行测试,并将我所有的天蓝色表存储都复制到新的存储帐户,以下是屏幕截图:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.