1

我有许多文件通过Azure数据工厂转移到Azure Blob存储中。不幸的是,这个工具似乎没有为任何值设置Content-MD5值,所以当我从Blob存储API中提取该值时,它是空的。以编程方式将文件从Azure Blob存储转移到Google Cloud存储

我打算将这些文件从Azure Blob存储转移到Google存储中。我在https://cloud.google.com/storage/transfer/reference/rest/v1/TransferSpec#HttpData上看到的有关Google存储传输服务的文档表明,如果我提供文件列表及其URL,长度(以字节为单位)和每个文件的MD5散列,我可以轻松启动此类传输。

好吧,我可以很容易地从Azure存储中获得前两项,但第三项似乎不会自动被Azure存储填充,我也无法找到任何方法来实现它。

不幸的是,我的其他选项看起来有限。在准备迄今:

  1. 下载文件到本地机器上,确定散列和更新的Blob MD5值
  2. 见,如果我不能写,可以计算哈希同一区域的Azure的应用程序的功能值并将其写入容器中的每个块中
  3. 使用来自Data Factory的Amazon S3出口,然后使用谷歌的支持从S3导入,从那里,根据https://cloud.google.com/storage/transfer/reference/rest/v1/TransferSpec#AwsS3Data,但这真的看起来像是浪费带宽(我必须建立一个亚马逊账户)。

理想情况下,我希望能够编写一个脚本,打开并保持独立。我没有Azure最快的下载速度,所以#1会比想要的要少,因为它需要很长时间。

有没有其他方法?

回答

2

您是否想过使用用于数据转换的Azure Data Factory custom activity支持?在后端,如果使用ADF自定义活动,则可以使用Azure Batch下载,更新和上传文件到Google Storage。

2

我们已经将大约3TB的文件从Azure迁移到Google Storage。我们已经在Google计算引擎中启动了一个廉价的Linux服务器,其中有几个TB本地磁盘。通过blobxfer将Azure文件传输到本地磁盘,然后通过gsutil rsyncgsutil cp也可以)将文件从本地磁盘复制到Google存储。

您可以使用其他工具从Azure传输文件,甚至可以在GCE中启动Windows服务器,并在Windows上使用gsutils

它花了几天,但很简单,直接。

相关问题