使用Azcopy上传大容量数据集到Azure blob

本文介绍了如何在Ubuntu22.04上使用azcopy工具批量上传大文件到AzureBlob存储。首先,下载azcopy并获取共享访问签名,然后解压缩文件,最后使用azcopy命令行工具进行上传。这种方法解决了通过网页上传的不现实和不可靠问题。
摘要由CSDN通过智能技术生成

一、背景介绍

        本地有大量文件,规模数量超过50万个,通过Azure网页上传无疑是不现实的且不可靠的。所以如何解决大文件及批量文件上传到Azure blob? 可以使用azcopy来完成这项任务。

        操作环境:ubuntu 22.04 LTS

        前置条件:

        1、预先下载azopy linux安装包,下载链接:        

        使用 AzCopy v10 将数据复制或移到 Azure 存储 | Microsoft Learn

        2、在azure 控制台里面获取 共享访问签名,注意共享访问签名需要明确允许的IP地址(这里我使用的是GLP里面的虚拟服务器的IP地址),而后点击生成SAS和连接字符串。这里获取到共享访问签名,后面会用到,出于隐私保护,我用 azure_sas 来替代(后文使用)

        3、数据集下载获取。 这里我以下载BridgeData数据集为例,下载链接:

              BridgeData (rail-berkeley.github.io)

          tips: 如何在GLP服务器下载大文件数据集?

可以使用wget命令, eg:  nohup sudo wget https://rail.eecs.berkeley.edu/datasets/bridge_release/scripted_raw_6_18.zip    

        请务必使用nohup,否则你会面临前功尽弃的风险(哭)。

二、实现

        Ok, 接下来开始文件的乾坤大挪移技能。

        首先,要解压文件,只有解压的文件才能被使用。

        可以使用命令:

        nohup sudo unzip scripted_raw_6_18.zip

        请务必使用nohup,否则你会面临前功尽弃的风险(反复强调)。

        接下来,就是azcopy登场了。

        最简单的azcopy的使用命令:

         nohup ./azcopy copy  '/opt/dataset/scripted_raw'   'https://{{mystorageaccount}}.blob.core.windows.net/{{mycontainer}}/scripted_raw'  azure_sas

         这里的mystorageaccount 和 mycontainer是你自己在azure blob的账号和容器,可以从azure blob获取; azure_sas就是上文获取到的共享访问签名。

        

OK,一切准备就绪,开始我们的表演,静静等待文件copy到azure吧。

瞧一瞧,半小时搞定了16万个文件,42G文件大小的上传,简直是神器啊,终于取下了我之前痛不欲生的文件上传、失败、再上传、再失败的无限循环痛苦面具啊。

撒花,happy ending.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值