上一篇介绍了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其实是会直接读取环境变量里两个固定的名称的,分别是
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
以PowerShell环境举例,我们可以用以下方法设置环境变量
$env:AWS_ACCESS_KEY_ID="xxx"
$env:AWS_SECRET_ACCESS_KEY="xxxx"
将xxx替换为实际的值即可,这种方法设置的环境变量都只是临时变量,关闭PowerShell会话就会消失,这也是比较符合实际情况的,这种非常敏感的信息当然也不适合长时间保存
我们可以使用azcopy env来验证下是否可以正确读取到环境变量
只要这里能读取出来数值,就代表环境变量的设置没有问题了
目标端Azure我们就直接使用Azure AD验证了,具体的操作步骤就不多说了
下边来看下如何进行S3的迁移,AzCopy可以支持很多种S3对象,包括以下等
对象
目录
bucket
多个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'
这里如果出现下边的报错,就证明是环境变量的设置有问题
正常输出的结果如下:
在blob里马上就可以看到数据了
整体语法和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
可以看到整个目录都迁过来了!
依次类推,还可以迁移整个bucket,这对于迁移来说就太方便了
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。