Azure 存储表副本

Posted

技术标签:

【中文标题】Azure 存储表副本【英文标题】:Azure storage table copy 【发布时间】:2021-07-16 01:52:00 【问题描述】:

我在使用 azure AzCopy 时遇到问题。这是我的场景。 我有 2 个存储帐户,我将分别命名为 storage1 和 storage2。

Storage1包含多个表中的一些重要数据,我想做的..是能够将storage1中的所有表复制到storage2(有备份)。

我尝试了两种不同的方法:

AzCopy Azure 数据工厂

使用Azure Data Factory 我没有任何特别的问题可以让它工作,我能够将所有 blob 从 storage1 移动到 data Factory 但我无法移动表并且不知道这是不是可以用python来做。

AzCopy 我的运气为零。当我运行此命令时,我在 IAM Blob Storage Data contributor 和终端中授予了自己权限:

azcopy cp 'https://storage1.table.core.windows.net/Table1' 'https://storage2[...]-Key'

我得到了权限错误。

在这种特定情况下,我希望能够使用 AzCopy,因为它比数据工厂更简单,因为我只需将这些表从一个存储移动到另一个存储。

谁能帮助我了解我在使用 azCopy 时做错了什么?

编辑: 这是我尝试使用 azcopy 复制表时出现的错误

INFO: The parameters you supplied were Source: 'https://storage1.table.core.windows.net/[SAS]' of type Local, and Destination: 'https://storage2.table.core.windows.net/[SAS]' of type Local
INFO: Based on the parameters supplied, a valid source-destination combination could not automatically be found. Please check the parameters you supplied.  If they are correct, please specify an exact source and destination type using the --from-to switch. Valid values are two-word phases of the form BlobLocal, LocalBlob etc.  Use the word 'Blob' for Blob Storage, 'Local' for the local file system, 'File' for Azure Files, and 'BlobFS' for ADLS Gen2. If you need a combination that is not supported yet, please log an issue on the AzCopy GitHub issues list.

failed to parse user input due to error: the inferred source/destination combination could not be identified, or is currently not supported

【问题讨论】:

【参考方案1】:

如果你想复制所有存在的表是 abc 容器到 xyz 容器。使用简单的复制活动,在创建数据集时只需提供将所有内容(即所有表)复制到 xyz 容器的文件夹路径。

我想观看下面第 30 分钟的视频。它将在您的场景中有所帮助。 https://youtu.be/m6wyB-Hm3j0

【讨论】:

以上是关于Azure 存储表副本的主要内容,如果未能解决你的问题,请参考以下文章

Azure 文件存储在删除本地副本之前上传后验证文件

带有 python 脚本的 Azure Blob 副本

25.Azure备份服务器(中)

我可以强制刷新 Databricks Delta 表,以便磁盘副本具有最新/一致的数据吗?

带有开发人员门户内容的 Azure API 管理实例副本

Azure RM 模板。使用 Key Vault 密码部署副本 VM