​AzureStorage系列之使用AzCopy迁移S3数

    上一篇介绍了AzCopy两个实际的使用场景,可以说对于azure blob的操作绝对是相当简便的,但是现在AzCopy已经不仅仅局限于Azure的操作了,我们还可以用AzCopy把S3的数据迁移过来,这对于像AWS迁移Azure的项目来说绝对是个相当好用的工具,不过目前这个功能还只是preview版本,要注意验证下迁移的结果再删除源端的数据

创新互联专业为企业提供泗水网站建设、泗水做网站、泗水网站设计、泗水网站制作等企业网站建设、网页设计与制作、泗水企业网站模板建站服务,十年泗水做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

    具体的使用方法和blob之间拷贝数据稍有不同,主要在于身份验证的方式有所区别

    

  • 若要使用 Azure 存储授权,请使用 Azure Active Directory (AD)或共享访问签名(SAS)令牌。

  • 若要使用 AWS S3 进行授权,请使用 AWS 访问密钥和密钥访问密钥

    所以S3进行授权的时候是直接用AK/SK做授权的

    AWS AK/SK的创建方式这里就不详细说了,直接来看下怎么设置AK/SK来让azcopy能识别到

    AzCopy其实是会直接读取环境变量里两个固定的名称的,分别是

  1. AWS_ACCESS_KEY_ID

  2. AWS_SECRET_ACCESS_KEY

    

    以PowerShell环境举例,我们可以用以下方法设置环境变量

    

    $env:AWS_ACCESS_KEY_ID="xxx"

    $env:AWS_SECRET_ACCESS_KEY="xxxx"

    

    ​Azure Storage系列之使用AzCopy迁移S3数

    将xxx替换为实际的值即可,这种方法设置的环境变量都只是临时变量,关闭PowerShell会话就会消失,这也是比较符合实际情况的,这种非常敏感的信息当然也不适合长时间保存

    我们可以使用azcopy env来验证下是否可以正确读取到环境变量

    ​Azure Storage系列之使用AzCopy迁移S3数

    只要这里能读取出来数值,就代表环境变量的设置没有问题了

    目标端Azure我们就直接使用Azure AD验证了,具体的操作步骤就不多说了

    下边来看下如何进行S3的迁移,AzCopy可以支持很多种S3对象,包括以下等

  1. 对象

  2. 目录

  3. bucket

  4. 多个bucket

    语法基本是差不多的,主要来看下对象和目录的迁移

    对象迁移

    Azcopy copy 'https://xxx.s3.cn-north-1.amazonaws.com.cn/CBB_EC2AMAZ-R566F8E/CBB_Cloud/obs2s3000001/haozip_v5.9.8.exe' 'https://xxx.blob.core.chinacloudapi.cn/aws/haozip_froms3.exe'

    这里如果出现下边的报错,就证明是环境变量的设置有问题

    ​Azure Storage系列之使用AzCopy迁移S3数

    正常输出的结果如下:

    ​Azure Storage系列之使用AzCopy迁移S3数

    在blob里马上就可以看到数据了

    ​Azure Storage系列之使用AzCopy迁移S3数

    整体语法和blob之间进行操作还是很一致的

    目录迁移

    目录的迁移和blob迁移目录基本也是一样的,只需要加一个额外的参数即可

    Azcopy copy 'https://xxx.s3.cn-north-1.amazonaws.com.cn/CBB_EC2AMAZ-R566F8E/CBB_Cloud/obs2s3000001/15090887278028_sow.exe%24' 'https://xxx.blob.core.chinacloudapi.cn/aws/' --recursive=true

    ​Azure Storage系列之使用AzCopy迁移S3数

    可以看到整个目录都迁过来了!

    ​Azure Storage系列之使用AzCopy迁移S3数

    依次类推,还可以迁移整个bucket,这对于迁移来说就太方便了

    


分享文章:​AzureStorage系列之使用AzCopy迁移S3数
URL地址:http://myzitong.com/article/iiiidc.html