从Linux上传1000万个文件到Azure Blob存储

7

我有一些使用S3的经验,并且过去曾经使用将许多(数百万)小文件放在那里。与Azure相比,S3的PUT价格昂贵,所以我正在考虑切换到Azure。

然而,我似乎无法弄清楚如何使用将本地目录同步到远程容器。特别是,我有以下问题:

1- AWS客户端提供了一个选项。是否有类似于的选项?

2- 我可以使用同时上传多个文件到Azure存储吗?我注意到有一个标志,因此我认为原则上可能是可行的。


你找到这个问题的解决方案了吗? - Brend
1
不好意思,我最终还是切换回了S3。 - user31208
3个回答

4
如果您更喜欢使用命令行并且拥有最新的Python解释器,则Azure Batch和HPC团队发布了一个名为blobxfer的Python代码示例,其中包含一些类似于AzCopy的功能。这允许完全递归目录进入Azure Storage,并完全将容器复制回本地存储。【全面披露:我是该代码的贡献者】。
回答您的问题:
1.blobxfer支持使用MD5校验和比较进行rsync-like操作,既可以在进口也可以在出口时实现。
2.blobxfer执行并发操作,既可以在单个文件中进行,也可以跨多个文件进行。但是,您可能需要将输入分成多个目录和容器,这不仅有助于减少脚本中的内存使用,而且还会更好地分配您的负载。

0

https://github.com/Azure/azure-sdk-tools-xplat是Azure-cli的源代码,因此可以在那里找到更多详细信息。您可能想要向此存储库提交问题 :)

  1. Azure-cli到目前为止不支持"同步"。
  2. -concurrenttaskcount用于支持单个文件内的并行上传,这将极大地提高上传速度,但它尚不支持多个文件。

0
为了将大量文件上传到 Blob 存储中,Microsoft 提供了一个工具 Checkout。存储资源管理器允许您执行所需的任务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接