Azure Storage 利用 azCopy 复制迁移数据

一,引言

领券网 www.cps3.cn

     前两天遇到了Azure Blob Storage 需要迁移到另外的一个 Azure Blob Storage 中。手动下载、上传已经无法满足了,得另寻一种方式了 AzCopy。Azure 为我们提供了 AzCopy,它其实是一个命令行实用工具,可用于向/从存储账户复制 Blob 或文件。 使用 AzCopy 可在文件系统和存储帐户之间或在存储帐户之间复制数据。 AzCopy 可以用来将数据从本地复制到存储帐户。好的,废话不多说了。那么我们就正式开始今天讲解的内容了。

二,正文

1,设置datasource ----- Azure Blob Storage

我们提前准备好开发环境的 Storage Account ----- "cnbateblogwebdev"

img-d5555276-770e-4178-ad8c-e56d2a04a02d.png

选择 “Data storage =》Container”,点击 “+Container” 添加新的Container----- "images"

img-1c8cf21d-26eb-44a6-b3a7-097ffce0c20a.png

点击进入当前容器,上传我们需要测试的文件

img-76663a2a-7a00-409e-be70-0639852d6370.png

选择本地的测试文件 “Backgroud.jpg”,点击 “Upload” 进行上传操作

img-c06c9cbd-1640-4678-8a5e-e97ed9efe6fc.png

上传完毕之后,就可以看到已上传的图片文件

img-ece70797-5e98-4da8-8178-50f0b6eae431.png

预览 “Backgroup.jpg” 文件

img-223b02aa-174e-4262-8081-4fe0a6775edb.png

接下来设置开发环境的 Blob Storage 的 “Shared access signature”(共享访问签名)

选择 “Security + networking =》Shared access signature”

Allowed services 选择: “Blob”

Allow resource types 选择:“Service”,“Container”,“Object”

点击 “Generate SAS  and connection string” 生成共享访问签名

img-93fd5b89-6475-4f6e-8f66-af3ee0127813.png

可以看到 Blob Service SAS URL 已经生成出来了,复制保存,稍后有用。

img-b79a2d09-b776-44a2-9370-92809766227c.png

2,设置datatarget ----- Azure Blob Storage

生产环境的 Storage Account ----- "cnbateblogwebprd"

img-4adac2ae-2d9f-426f-8a9d-e4ff0de1b03d.png

选择 “Data storage =》Container”,点击 “+Container” 添加生产环境新的Container----- "images"

img-2f5565ce-21aa-4f06-a804-4cd84ccc74a0.png

同样的也需要生成生产环境的 Blob Storage 的共享访问签名

img-cd27e9d4-9fb6-43d9-8858-307f4dd8da50.png

3,使用 AzCopy 迁移数据

重启一个Azure Cloud Shell 页面,shell.azure.com

TestCase1:将开发环境的 Blob Storage Account 容器中的 背景图片迁移到 生产环境的 Blob Storage Account

azcopy copy <source> <target>

<source> 就是我们需要迁移数据的数据源,这个需要刚刚复制的开发环境的Storage Account 的共享访问签名了,红色标记的就是要签约的数据的容器名和对象名

https://cnbateblogwebdev.blob.core.windows.net/images/Background.jpg?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:33:24Z&st=2021-05-18T09:33:24Z&spr=https&sig=4w%2FBAwCzWNkfNQHhWJaehjE3OC4biXXXXXXXMMHOMT0I%3D

<tartget>同样的生产的的目标数据源,红色标记的就是要签约的数据的容器名和对象名

https://cnbateblogwebprd.blob.core.windows.net/images/Background_Pro.jpg?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:06:32Z&st=2021-05-18T09:06:32Z&spr=https&sig=0L8u5ZtndP42Jt0WuB0bQp%2BBT0jR3c%2BXXXXXXXXX1V8Vk4%3D

FullExample:

azcopy copy "https://cnbateblogwebdev.blob.core.windows.net/images/Background.jpg?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:33:24Z&st=2021-05-18T09:33:24Z&spr=https&sig=4w%2FXXXXXCzWNkfNQHhWJaehjE3OC4bi3mEkMeMMHOMT0I%3D"  "https://cnbateblogwebprd.blob.core.windows.net/images/Background_Pro.jpg?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:06:32Z&st=2021-05-18T09:06:32Z&spr=https&sig=0L8u5ZtndP42Jt0WXXXXXXp%2BBT0jR3c%2BYAlH7X1V8Vk4%3D"

复制粘贴到Azure Cloud Shell 中执行,我们可以看到执行完成

img-a31f5c24-86fa-4108-971e-c4f2d75a6344.png

同时,我们可以在生产环境的Blob Storage 的 images 的容器中进行查看

img-b3370e8e-1b11-449c-9434-a345f0575003.png

TestCase2:将开发环境的 Blob Storage Account 容器中的所有的对象文件迁移到 生产环境的 Blob Storage Account

img-239b2639-3e10-4342-94a9-3a121003c822.png

FullExample:

azcopy copy "https://cnbateblogwebdev.blob.core.windows.net/images/*?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:33:24Z&st=2021-05-18T09:33:24Z&spr=https&sig=4w%2FBAwCzWNkfNQHhWJaxxxxxxOC4bi3mEkMeMMHOMT0I%3D"  "https://cnbateblogwebprd.blob.core.windows.net/images/?sv=2020-02-10&ss=b&srt=sco&sp=rwdlacx&se=2021-05-18T17:06:32Z&st=2021-05-18T09:06:32Z&spr=https&sig=0L8u5ZtndP42Jxxxxxx0bQp%2BBT0jR3c%2BYAlH7X1V8Vk4%3D"

复制粘贴到Azure Cloud Shell 中执行,我们可以看到执行完成

img-1e90fd35-1f78-4379-94a9-d965fc6cf73f.png

Azure Portal 上查看测试结果

img-985690db-670e-4b7f-a972-057d0d4e91f9.png

bingo!!!!成功。

三,结尾

AzCopy 支持多种类型的复制方式将源数据迁移到目标位置。例如 "本地"=》“Azure Blob”,“本地”=》“Azure 文件存储”,“Azure Blob”=》“Azure Blob”,“Azure 文件存储”=》“Azure 文件存储”等等。并且还支持多云数据迁移,例如 “AWS S3”=》“Azure Block Blob”,“GCP Cloud Storage”=》“Azure Block Blob”。

AzCopy 是一个命令行工具,我们借助该工具,可使用简单命令以最佳性能将数据复制到 Azure Blob 存储、Azure 文件和 Azure 表存储或从其中复制出数据。 这些命令旨在。

参考链接:https://docs.azure.cn/zh-cn/storage/common/storage-ref-azcopy-copy

文章来自博主本人自己的博客:https://allenmasters.com/post/2021/5/18/azure-storage-azcopy

欢迎大家关注博主的博客:https://allenmasters.com/

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值