我对 S3 有一些经验,过去曾使用 s3-parallel-put
将许多(数百万)个小文件放在那里。与 Azure 相比,S3 的 PUT 价格昂贵,因此我正在考虑切换到 Azure。
但是,我似乎无法弄清楚如何使用 azure cli
将本地目录同步到远程容器。特别是,我有以下问题:
1- aws
客户端提供同步
选项。 azure
有这样的选项吗?
2- 我可以使用 cli
同时将多个文件上传到 Azure 存储吗?我注意到有一个用于azure storage blob upload
的-concurrenttaskcount
标志,所以我认为原则上它一定是可能的。
最佳答案
如果你更喜欢命令行并且拥有最新的 Python 解释器,Azure Batch 和 HPC 团队已经发布了一个代码示例,其中包含一些 AzCopy-like functionality on Python called blobxfer 。这允许完全递归目录进入 Azure 存储以及将完整容器复制回本地存储。 [全面披露:我是此代码的贡献者]
回答您的问题:
- blobxfer 支持对入口和导出使用 MD5 校验和比较的类似 rsync 的操作
- blobxfer 在单个文件内和跨多个文件执行并发操作。但是,您可能希望将输入拆分到多个目录和容器中,这不仅有助于减少脚本中的内存使用量,而且还可以更好地划分负载
关于azure - 将 10,000,000 个文件从 Linux 上传到 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25905251/