2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

如何使用 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:303595

评论

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

Petal 出行新人超值百元大礼包,中秋国庆优惠等你领!

最新动态

实用指南:掌握 Node.js 文件复制的最佳实践

Apifox

JavaScript node.js 程序员 后端 教程

【稳定性】秘密武器--功能开关技术 | 京东物流技术团队

京东科技开发者

稳定性 企业号9月PK榜 功能开关

QCN6274 VS QCN9274|QCN9074 VS QCN6122|Exploring the World of Wi-Fi 6E and the Latest Chip Innovations

wallyslilly

QCN9074 QCN6122 qcn9274 qcn6274

1分钟完成1000万key数据对比

NineData

redis Redis 核心技术与实战 redis 精讲 数据对比 NineData

徐刚:AIGC时代,人力资源数智化的关键趋势与应对

用友BIP

人力资源 AIGC

关于 TDengine 的论文资料都在这里了,等你来取!

TDengine

时序数据库 国产数据库 ​TDengine

MySQL到TiDB:Hive Metastore横向扩展之路

vivo互联网技术

大数据 hive 元数据 TiDB 横向扩展

【AIGC】只要10秒,AI生成IP海报,解放双手!!! | 京东云技术团队

京东科技开发者

人工智能 IP AIGC 企业号9月PK榜

CPU性能指标简览

DevOps和数字孪生

仿真建模 CPU性能

软件测试/测试开发丨岗位内推-58同城岗位开放

测试人

软件测试 招聘 校招 岗位内推

英伟达张玮东:NVIDIA核心GPU技术与软件生态助力大模型开发和部署

TRaaS

英伟达 大模型训练

基于Java开发的工作流系统(springboot+activiti源码)

金陵老街

springboot Activit

中秋国庆花式玩法,用低代码DIY假日大屏“Vlog”

华为云开发者联盟

低代码 开发 华为云 华为云开发者联盟 企业号9月PK榜

质量高的http代理ip需要具备什么特点?

巨量HTTP

代理IP http代理

HarmonyOS非线性容器特性及使用场景

HarmonyOS开发者

HarmonyOS

AI编程助手工具,走过路过别错过

SoFlu-JavaAI开发助手

Mac如何内录系统声音

展初云

录屏 Mac软件

实战指南,SpringBoot + Mybatis 如何对接多数据源

华为云开发者联盟

大数据 华为云 华为云开发者联盟 企业号9月PK榜

分分钟搞定来源list添加到目标list,据说只要5%的人知道

SoFlu-JavaAI开发助手

元服务助力山东舜和酒店数字化转型,促鸿蒙生态繁荣!

最新动态

KubeCon China 2023 | 以开源促进智能世界底座共建,给世界提供更好选择

新消费日报

Dubbo源码浅析(一)—RPC框架与Dubbo | 京东云技术团队

京东科技开发者

spring dubbo RPC RPC框架 企业号9月PK榜

软件测试/测试开发丨结对编程助手 GitHubCopilot

测试人

人工智能 程序员 软件测试 ChatGPT Copilot

MAC手动修复『已损坏』问题 终端运行命令报错处理

展初云

Mac Mac软件

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