一,引言

前两天遇到了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

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

Azure Storage 利用 azCopy 复制迁移数据的更多相关文章

  1. Windows Azure Storage (24) 启用Azure Blob日志

    <Windows Azure Platform 系列文章目录> 之前有一个业务需求,客户想知道Azure Storage是否有日志功能,可以检查某个Azure Blob文件在某个时间点被删 ...

  2. Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度

    <Windows Azure Platform 系列文章目录> Update 2016-09-28 想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账 ...

  3. 利用Linode面板Clone克隆搬家迁移不同VPS数据及利用IP Swap迁移IP地址

    在众多海外VPS服务商中,老蒋个人认为Linode提供的VPS方案和性价比还是比较高的,尤其目前基础1GB方案仅需10美元每月且全部是SSD固态硬盘,无论是流量还是硬盘大小,基本上可以满足我们大部分用 ...

  4. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

  5. 镜像回源主要用于无缝迁移数据到OSS,即服务已经在自己建立的源站或者在其他云产品上运行,需要迁移到OSS上,但是又不能停止服务,此时可利用镜像回写功能实现。

    管理回源设置_管理文件_开发指南_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/31865.html 通过回源设置,对于获取数据的请求以多种 ...

  6. 如何利用.NETCore向Azure EventHubs准实时批量发送数据?

    最近在做一个基于Azure云的物联网分析项目: .netcore采集程序向Azure事件中心(EventHubs)发送数据,通过Azure EventHubs Capture转储到Azure Blog ...

  7. [博客迁移]探索Windows Azure 监控和自动伸缩系列3 - 启用Azure监控扩展收集自定义监控数据

    上一篇我们介绍了获取Azure的监控指标和监控数据: http://www.cnblogs.com/teld/p/5113376.html 本篇我们继续:监控虚拟机的自定义性能计数器. 随着我们应用规 ...

  8. Windows Azure Storage (22) Azure Storage如何支持多级目录

    <Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Azure Blob有三层架构.如下图:(注意blob.core.chinacloudapi ...

  9. Azure Storage 系列(七)使用Azure File Storage

    一,引言 今天我们开始介绍 Storage 中的最后一个类型的存储----- File Storage(文件存储),Azure File Storage 在云端提供完全托管的文件共享,这些共享项可通过 ...

随机推荐

  1. 07-Spring ConfigurationClassPostProcessor

    ConfigurationClassPostProcessor 功能 此类是一个后置处理器类,主要功能是参与 BeanFactory 中 BeanDefinition 的操作和 BeanDefinit ...

  2. 策略枚举:消除在项目里大批量使用if-else的正确姿势

    文/朱季谦 想起刚开始接触JAVA编程的时候,若遇到大量流程判断语句,几乎满屏都是if-else语句,多得让自己都忘了哪里是头,哪里是尾,但是,纵然满屏是if-else,但彼时也没有觉得多别扭.等到编 ...

  3. 前端学习 node 快速入门 系列 —— 报名系统 - [express]

    其他章节请看: 前端学习 node 快速入门 系列 报名系统 - [express] 最简单的报名系统: 只有两个页面 人员信息列表页:展示已报名的人员信息列表.里面有一个报名按钮,点击按钮则会跳转到 ...

  4. CodeForces571A. Lengthening Sticks(组合数学-容斥)

    题目大意: a,b,c三根木棍可以增加三个不同的数字,aa,bb,cc,且aa+bb+cc<=L,问能构成三角形的木棒有多少种方案 题目思路: 如果我们直接考虑把L分配给aa,bb,cc好像不好 ...

  5. C++并发与多线程学习笔记--参数传递详解

    传递临时对象 陷阱 总结 临时对象作为线程参数 线程id的概念 临时对象构造时的抓捕 成员函数指针做线程函数 传递临时对象作为线程参数 创建的工作线程不止一个,线程根据编号来确定工作内容.每个线程都需 ...

  6. [图论]最优布线问题:kruskal

    最优布线问题 目录 最优布线问题 Description Input Output Sample Input Sample Output Hint 解析 代码 Description 学校有n台计算机 ...

  7. css盒模型以及如何计算盒子的宽度

    css盒模型以及如何计算盒子的宽度 盒模型 每个存在于可访问性树中的元素都会被浏览器绘制成一个盒子[1]. 每个盒子都可以看成由4部分组成,它们分别是 - 元素外边距(margin).元素边框(bor ...

  8. ON DUPLICATE KEY UPDATE作用

    ON DUPLICATE KEY UPDATE作用 先声明一点,ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑 语句的作用,当insert已经存在的记录时,执行Updat ...

  9. odoo视图入门学习- tree视图的使用

    上一篇内容:如何快速在odoo中创建自己的菜单 前言 上面的内容我们已经学会了如何去创建odoo的菜单,下面我们要学习的是odoo的基础视图tree视图,我们的目标是实现型号管理的列表页面 创建mod ...

  10. leetcode 刷题(数组篇)74 题 搜索二维矩阵 (二分查找)

    二分查找要注意边界值的取值,边界情况的判定 题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一 ...