• Azure Storage 利用 azCopy 复制迁移数据


    一,引言

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

    二,正文

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

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

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

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

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

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

    预览 “Backgroup.jpg” 文件

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

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

    Allowed services 选择: “Blob”

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

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

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

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

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

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

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

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

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

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

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

    Azure Portal 上查看测试结果

    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 

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

    作者:Allen 版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
  • 相关阅读:
    vue-cli工具搭建vue-webpack项目
    关于闭包的理解
    运动-分页
    运动-无缝滚动
    运动-手风琴
    运动-模拟返回顶部
    运动—图片中心放大
    运动—运动框架
    webstorm 激活破解
    let和const
  • 原文地址:https://www.cnblogs.com/AllenMaster/p/14782168.html
Copyright © 2020-2023  润新知