Azure Storage 利用 azCopy 复制迁移数据

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

二,正文 1,设置datasource ----- Azure Blob Storage

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

预览 “Backgroup.jpg” 文件

Azure Storage 利用 azCopy 复制迁移数据

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

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

Allowed services 选择: “Blob”

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

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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 中执行,我们可以看到执行完成

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

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

Azure Storage 利用 azCopy 复制迁移数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjzyz.html