azure - 将 10,000,000 个文件从 Linux 上传到 Azure Blob 存储

标签 azure azure-storage

我对 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 存储以及将完整容器复制回本地存储。 [全面披露:我是此代码的贡献者]

回答您的问题:

  1. blobxfer 支持对入口和导出使用 MD5 校验和比较的类似 rsync 的操作
  2. blobxfer 在单个文件内和跨多个文件执行并发操作。但是,您可能希望将输入拆分到多个目录和容器中,这不仅有助于减少脚本中的内存使用量,而且还可以更好地划分负载

关于azure - 将 10,000,000 个文件从 Linux 上传到 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25905251/

相关文章:

azure - 限制 Azure 存储队列中的消息处理尝试次数

c# - 是否有一个存储库可以抽象出 Azure、S3 等?

azure - 写入 Azure block Blob

azure - 为特定 blob 创建 SAS token ,而不是同一存储帐户中的其他 blob

azure - ARM 模板(二头肌): Circular Dependency when merging appsettings (list function)

json - 键 'authentication' 的值无效

python - 有没有办法用 python 将 html 文件(绘图)写入 azure 存储 blob?

azure-storage - Windows Azure 操作系统磁盘

Azure Service Fabric - VSTS 上的持续集成

c# - Azure 见解请求日志