AzCopy 是一个命令行实用工具,可用于向/从存储帐户复制数据,或者在存储帐户之间复制数据。 本文可帮助你下载 AzCopy、连接到存储帐户以及传输数据。
AzCopy v10 是当前支持的 AzCopy 版本。 它仅在正式维护的 Windows、Linux 或 macOS 版本上受支持。 如果需要使用旧版 AzCopy,请参阅本文的使用旧版 AzCopy 部分。
AzCopy 用例
使用 AzCopy 将数据复制到 Azure 存储帐户或从 Azure 存储帐户之间复制数据。 常见用例包括:
- 将数据从本地源复制到 Azure 存储帐户
- 将数据从 Azure 存储帐户复制到本地源
- 将数据从一个存储帐户复制到另一个存储帐户
AzCopy 支持具有特定命令和选项的每个用例。 例如,AzCopy 具有用于复制和同步数据的本机命令,使其成为一次性复制活动和持续同步方案的灵活工具。 可以将特定的存储服务(如 Azure Blob 存储或 Azure 文件存储)作为目标,还可以在它们之间复制。 例如,可以将数据从 Azure Blob 存储容器复制到 Azure 文件共享,反之亦然。
有关数据传输指南的完整列表,请参阅本文的 “传输数据 ”部分。
获取 AzCopy
如果在 Linux 计算机上使用 AzCopy,则可以使用包管理器。 对于所有其他作系统,请下载可移植的二进制文件。 有关 AzCopy 版本的详细信息,请参阅 AzCopy 发布页。
使用包管理器(仅限 Linux)
通过 Linux 分发的包管理器安装 AzCopy 是最方便且可维护的方法。 包管理器安装提供自动依赖项解析、简化的更新,并与系统的软件管理集成。 有关分步指南,请参阅 使用包管理器在 Linux 上安装 AzCopy。
下载可移植二进制文件
安装包仅适用于 Linux。 对于所有其他作系统,请将 AzCopy v10 可执行文件下载到计算机上的任何目录。
- Windows 64 位 (zip)
- Windows 32 位 (zip)
- Windows ARM64 (zip)
- Linux x86-64 (tar)
- Linux ARM64 (tar)
- macOS (zip)
- macOS ARM64 (zip)
这些文件压缩为 zip 文件(Windows 和 macOS)或 tar 文件(Linux)。 要在 Linux 上下载并解压缩 tar 文件,请参阅 Linux 分发文档。
将 AzCopy 添加到系统路径
为方便起见,请考虑将 AzCopy 可执行文件的目录位置添加到系统路径。 通过此添加,可以从系统上的任何目录键入 azcopy 。 如果未将 AzCopy 目录添加到路径中,您需要将目录更改为 AzCopy 可执行文件所在的位置,然后在命令壳中输入azcopy或.\azcopy。
授权 AzCopy
系统不会自动向 Azure 存储帐户的所有者分配数据访问权限。 在使用 AzCopy 执行任何有意义的操作之前,需确定如何向存储服务提供身份验证凭据。 可以使用 Microsoft Entra ID 或使用 SAS 令牌提供凭据。
使用 Microsoft Entra ID 进行授权
通过使用 Microsoft Entra ID,只需提供一次凭据,而不必在每个命令上添加 SAS 令牌。 首先选择要授权的安全主体类型。 使用下表作为指南。
| 安全主体 | Guidance |
|---|---|
| 用户标识 | 使用用户标识授权对 AzCopy 的访问权限 |
| 托管标识 | 使用托管标识授权对 AzCopy 的访问权限 |
| 服务主体 | 使用服务主体授权 AzCopy 访问权限 |
使用 SAS 令牌授权
将 SAS 令牌追加到 AzCopy 命令中使用的每个源或目标 URL。 此示例命令以递归方式将本地目录中的数据复制到 Blob 容器。 一个虚构的 SAS 令牌将追加到容器 URL 的末尾。
azcopy copy "C:\local\path" "https://account.blob.core.chinacloudapi.cn/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true
若要详细了解 SAS 令牌及其获取方式,请参阅使用共享访问签名 (SAS)。
传输数据
授权身份或获取 SAS 令牌之后,就可以开始传输数据。
有关示例命令,请参阅这些文章中的任何一篇。
| 服务 | 文章 |
|---|---|
| Azure Blob 存储 | 将文件上传到 Azure Blob 存储 |
| Azure Blob 存储 | 从 Azure Blob 存储下载 Blob |
| Azure Blob 存储 | 在 Azure 存储帐户之间复制 Blob |
| Azure Blob 存储 | 与 Azure Blob 存储同步 |
| Azure 文件存储 | 使用 AzCopy 和文件存储传输数据 |
| Amazon S3 | 将数据从 Amazon S3 复制到 Azure 存储 |
| Google 云存储 | 将数据从 Google Cloud Storage 复制到 Azure 存储(预览版) |
| Azure Stack 存储 | 使用 AzCopy 和 Azure Stack 存储传输数据 |
可以交互方式运行 AzCopy 命令。 还可以将 AzCopy 合并到自动化脚本中,用于批处理作、计划数据传输或持续集成管道。 有关详细信息,请参阅 在脚本中使用 AzCopy 和计划的传输任务。
注意
AzCopy 不支持在传输期间主动更改源或目标的情况。
获取命令帮助
若要查看命令列表,请键入 azcopy -h 并按 ENTER 键。
若要了解特定命令,请包含命令名称(例如: azcopy list -h) 。
命令列表
下表列出了所有 AzCopy v10 命令。 每个命令链接到参考文章。
| 命令 | 说明 |
|---|---|
| azcopy bench | 通过将测试数据上传到指定位置或从指定位置下载测试数据来运行性能基准测试。 |
| azcopy copy(文件复制命令) | 将源数据复制到目标位置。 |
| azcopy doc | 以 Markdown 格式生成工具的文档。 |
| azcopy env | 显示可配置 AzCopy 行为的环境变量。 |
| azcopy 作业 | 与管理作业相关的子命令。 |
| azcopy jobs clean 解释:清理 AzCopy 任务 | 删除所有作业的所有日志和计划文件。 |
| azcopy 任务列表 | 显示有关所有作业的信息。 |
| azcopy 任务 移除 | 删除与给定作业 ID 关联的所有文件。 |
| azcopy 作业恢复 | 恢复具有给定作业 ID 的现有作业。 |
| azcopy jobs show(显示AzCopy作业) | 显示有关给定作业 ID 的详细信息。 |
| azcopy list | 列出给定资源中的实体。 |
| azcopy login | 登录到 Microsoft Entra ID 以访问 Azure 存储资源。 |
| azcopy 登录状态 | 列出给定资源中的实体。 |
| azcopy 注销 | 注销用户并终止对 Azure 存储资源的访问权限。 |
| azcopy make | 创建容器或文件共享。 |
| azcopy remove | 从 Azure 存储帐户中删除 Blob 或文件。 |
| azcopy sync | 将源位置复制到目标位置。 |
| azcopy set-properties | 更改一个或多个 Blob 的访问层,并替换并覆盖一个或多个 Blob 的元数据和索引标记。 |
注意
AzCopy 没有用于重命名文件的命令。
配置、优化和修复
查看以下任意资源:
后续步骤
如果有疑问、问题或常规反馈,请在 GitHub 上提交。