写点什么

如何使用 AZCOPY 同步 Azure Blob 存储

  • 2020-01-25
  • 本文字数:1552 字

    阅读完需:约 5 分钟

如何使用 AZCOPY 同步 Azure Blob 存储

几个月前,我写了一篇关于 如何使用 AzCopy 同步文件到 Azure Blob 存储 的博客。今天针对我在 GitHub 上使用 AzCopy 的一个问题,有了一个激动人心的更新。这意味着您现在可以使用 AzCopy 从 Azure Blob 到 Azure Blob。

Azure Blob <-> Azure Blob (源必须包括共享访问令牌 SAS 或者可公共访问,对于目标可以支持共享访问令牌 SAS 或者 OAuth 认证)

如何在 Azure Blob 存储之间同步

作为准备工作,您将需要 安装并设置 AzCopy ,或者在 Azure Cloud Shell 中使用 AzCopy.


您可以使用下述命令将 Azure blob 存储同步到另外一个 Azure Blob 中。该命令将仅仅同步发生变化和新建的文件。其比较文件的名称和最后修改时间戳。


azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"
复制代码


对于目标,你既可以使用 SAS 或者 OAuth。为了同步一个存储账号中的整个容器或者文件夹到另外一个账号,你可以使用下述命令:


azcopy sync "https://[account].blob.core.windows.net/[container]?[SAS]" "https://[account].blob.core.windows.net/[container]"
复制代码


作为示例,这里我将从在北欧区的 Azure 存储账号的一个容器中的文件,复制到西欧区的另一个存储账号中。



我使用如下命令来实现:


azcopy sync "https://tomnortheurope.blob.core.windows.net/myfiles?[SAS]" "https://tomwesteurope.blob.core.windows.net/destinationfiles?[SAS]" --recursive=true
复制代码



您可以看到,在第一次运行时,它确实将所有文件从源存储帐户复制到了目标位置。 在第二次运行中,它没有复制任何文件,因为文件已经存在了。



下面是一系列可以使用的参数。您可以在微软 Docs上发现更多的关于 AzCopy sync 的命令。


–block-size-mb 在上传到 Azure 存储或者从 Azure 存储下载时,使用的块尺寸 (以 MiB 为单位) 。默认基于文件尺寸自动计算。支持使用十进制小数(例如:0.25)。


–check-md5 字符串,指定在下载时,如何强制 MD5 散列值用于验证。该选项仅在下载时可用。可用值包括:NoCheck, LogOnly, FailIfDifferent, FailIfDifferentOrMissing. (默认值:‘FailIfDifferent’)。


–delete-destination 字符串。定义是否删除源中没有提供的目标中的其它文件。可以设置为: true, false, 或者 prompt。如果设置为 prompt,在删除文件或者 blob 之前,用户将被要求确认 (默认 false)。


–exclude-attributes 字符串(仅 Windows),排除匹配文件属性的文件。例如:A;S;R


–exclude-pattern 字符串,排除匹配模板列表的文件,例如:.jpg;*.pdf;exactName


-h, –help 使用帮助


–include-attributes 字符串 (仅 Windows),仅包含匹配文件属性列表的文件。例如: A;S;R


–include-pattern 字符串,仅包含匹配模板列表的文件。例如: .jpg;.pdf;exactName


–log-level 字符串, 定义日志文件的日志级别。可用的级别:INFO(所有的请求和响应), WARNING(慢速响应), ERROR(仅仅失败的请求), 以及 NONE(没有输出日志). (默认 INFO). (default “INFO”)


–put-md5 对每个文件创建 MD5 散列,并保存将散列值作为目标 blob 或文件的 Content-MD5 属性。 (默认情况下,创建散列)。仅在上传时可用。


–recursive 默认为 True,当在目录之间同步的时候,递归进入子目录 (默认为 true)。


如果您希望了解更多关于同步本地文件到 Azure blob 存储的内容,请查看我的博客。我希望这可以帮助您快速查看如何使用 AzCopy 同步 Azure blob 存储。如果您希望学习更多内容,请查看微软 Docs 中关于如何 使用 AzCopy 传输数据。如果有任何问题,请留言。


原文链接


https://github.com/azureselected/azureselected/blob/master/content/cloud-advocate/2019-12/how-to-sync-azure-blob-storage-with-azcopy.md


2020-01-25 11:303382

评论

发布
暂无评论
发现更多内容

跟我一起基于Karma搭建一个测试环境(下)

Jack Q

大前端 测试框架 Karma

吃透Laravel的Ioc容器

书旅

laravel 容器 ioc

大厂面试必读,JAVA进阶神书《深入理解Java虚拟机》第三版更新内容全曝光!

华章IT

JVM 虚拟机 周志明 Java虚拟机 jvm调优

系统不可用总结

不在调上

Spring 为啥默认把bean设计成单例的?这篇讲的明明白白的

程序员生活志

学习的深度 & 深度的学习

北风

学习

有一种自我欺骗,叫只为孩子

zhoo299

随笔杂谈 家庭

2w字 + 40张图带你参透并发编程!

cxuan

Java 后端 并发

高效程序员的45个习惯:敏捷开发修炼之道(3)

石云升

读书笔记 敏捷开发 无限游戏

"工科生"的浪漫 百度大脑语言与知识技术峰会在七夕向你发出参会邀请

百度大脑

《精益创业》摘要

孙苏勇

书摘 精益创业

丐帮,少林,明教,武当!看看你数据分析的技能属于哪一派?

程序员生活志

草脸识别,AI泡沫还是皇冠明珠?

郭华

人工智能 AI 商业 解决方案

Flink所需组件-1

小知识点

scala 大数据 flink 流计算

“庆俞年”大战,真正受损的不是李国庆

北柯

创业 合伙人 创业者 互联网人 当当网

一个虚拟世界里栽树的公司及其启示

郭华

技术 商业模式 电影

云原生架构的基石

soolaugust

Docker 架构 Kubernetes 容器 云原生

为什么一旦自己创业了,很难再回到公司去坐班?

北柯

创业 互联网 创业心态 上班 上班族

nginx报错worker_connections are not enough

Java联盟

nginx

大数据技术发展(二):Hadoop 技术生态圈的发展

cristal

Java 大数据 hadoop hadoop3

Python3 for ... else ...陷阱

王坤祥

Python Python PEP

写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!

程序员生活志

教程 Hub 资源

浅谈技术管理之团队管理

大黄蜂

团队管理 技术管理

56张图入门操作系统——内功心法,适合所有程序员

执鸢者

大前端 操作系统

四种主要的 IO 模型

一盐难进

Netty

搭载十代酷睿i7处理器,这台ROG冰刃4新锐拥有媲美台式游戏电脑的性能

最新动态

法定数字人民币将成中国金融新名片

CECBC

数字货币 人民币

一文吃透PHP进程信号处理

书旅

php Linux 信号

ST在keil下开发时候文件options配置的一些小技巧

良知犹存

嵌入式

SpreadJS 纯前端表格控件应用案例:集成 Odoo提升企业ERP表格功能

葡萄城技术团队

开源 SpreadJS Odoo

错误的存储方案正吞噬你的成本

jinjin

如何使用 AZCOPY 同步 Azure Blob 存储_容器_Thomas Maurer_InfoQ精选文章