• AzCopy – 跨帐户复制 Blob


    您可以随时从 aka.ms/AzCopy 下载最新版本。

    去年4月发布的版本中的新增功能

    • 支持跨帐户复制 Blob:AzCopy 允许您在相同存储帐户内或不同存储帐户之间复制 Blob(有关跨帐户 Blob 复制的详细信息,请访问此博客文章)。这可以让您无论是从成本还是时间角度都以经济高效的方式将 Blob 从一个帐户复制到另一个帐户。数据传输由存储服务完成,因此不再需要您从源下载每个 Blob 后再上传到目标位置。
    • 新增 /NC:此选项允许您指定并发网络请求的数量。默认情况下,当您将文件从本地计算机上传到 Windows Azure 存储时,AzCopy 将最多启动本地计算机 CPU 核数 8 倍的网络请求数来执行并发任务。例如,如果您的本地计算机有四个 CPU 核,则 AzCopy 将同时启动 32 个(4 的 8 倍)网络请求。但是,如果您希望限制这种并发以限制本地 CPU 和带宽使用,则可以使用 /NC 选项指定最大并发网络请求数量。此处指定的值是绝对计数,不会与 CPU 核数相乘。因此在上述示例中,要将并发网络请求数量减半,您可以指定 /NC:16
    • 新增 /SNAPSHOT:此选项允许您传输带快照的 blob。这是一个语义变化:在 AzCopy CTP 1(2012 年 10 月发布)中,默认情况下它会传递一个 blob 的快照;但从这一版本开始,默认情况下 AzCopy 将不会在复制 blob 时传输任何快照。只有指定了 /SNAPSHOT 时,AzCopy 才会确实将 Blob 的所有快照传输到目标位置;但是,这些快照在目标位置中将成为独立的 Blob,而不是原始基本 Blob 的快照,因此每个 Blob 将按全额收费(不会阻止在它们之间重复使用的场景)。传输的 blob 快照将重命名为以下格式:[blob-name] (snapshot-time)[extension]。

      例如,如果 readme.txt 是源 Blob,源容器中有 3 个为其创建的快照,则使用 /SNAPSHOT 将会在目标容器中再创建三个独立的 Blob,名称分别如下:

      readme (2013-02-25 080757).txt
      readme (2012-12-23 120657).txt
      readme (2012-09-12 090521).txt
    • 有关 blob 快照和单独 blob 对计费影响的比较,请参考此博客文章:了解 Windows Azure Storage 计费
    • 新增 /@:response-file:此选项允许您将参数存储在一个文件中以供 AzCopy 处理,就像在命令行上指定的一样。响应文件中的参数可分为多行,但每个参数必须在一行(不支持一个参数分占 2 行)。AzCopy 会把每一行作为一个单独的命令行解析到参数列表中,并将所有参数列表连接成一个列表,由 AzCopy 像处理单一命令行一样进行处理。可以指定多个响应文件,但不支持嵌套的响应文件;它会被解析为位置参数或文件模式。不支持转义字符,但带引号字符串中的 "" 除外,它会被解析为单引号。请注意,/- 后面的 /@: 并不表示响应文件,它会像其他参数一样被视为位置参数或文件模式。

    示例

    以下是一些说明此版本新增功能的示例。

    将所有 blob 从一个容器复制到不同存储帐户下的另一个容器

    AzCopy
    https://<sourceaccount>.blob.core.windows.net/<sourcecontainer>/
    https://<destaccount>.blob.core.windows.net/<destcontainer>/  /sourcekey:<key> /destkey:<key> /S

    上述命令会将所有 blob 从存储帐户“sourceaccount”中名为“sourcecontainer”的容器复制到存储帐户“destaccount”中另一个名为“destcontainer”的容器

    如果您有带快照的基本 blob,请添加 /Snapshot 以将所有快照随基本 blob 一起移动到目标位置,请注意,目标位置中的 blob 快照将重命名为以下格式:[blob-name] (snapshot-time)[extension]

    AzCopy
    https://<sourceaccount>.blob.core.windows.net/<sourcecontainer>/
    https://<destaccount>.blob.core.windows.net/<destcontainer>/   /sourcekey:<key> /destkey:<key> /S /SNAPSHOT


    例如,如果您有 readme.txt,并且源容器中有 3 个快照,那么它在目标容器

    readme.txt 中将如下所示:

    readme (2013-02-25 080757).txt
    readme (2012-12-23 120657).txt
    readme (2012-09-12 090521).txt

    您还可以创建一个响应文件,以便更轻松地反复运行相同的命令。创建名为“myAzCopy.txt”的 txt 文件,并包含如下内容

    #源容器的 URI

    https://<sourceaccount>.blob.core.windows.net/<sourcecontainer>/

    #目标容器的 URI

    https://<destaccount>.blob.core.windows.net/<destcontainer>/

    然后您可以运行下面的命令将文件从源容器传输到目标容器

    AzCopy /@:C:myAzCopy.txt /sourcekey:<key> /destkey:<key> /S


    本文翻译自:

    http://blogs.msdn.com/b/windowsazurestorage/archive/2013/04/01/azcopy-using-cross-account-copy-blob.aspx

    
  • 相关阅读:
    Web基础 网页的血肉CSS
    18
    19
    20
    17
    16
    15
    13
    14
    12
  • 原文地址:https://www.cnblogs.com/new0801/p/6176251.html
Copyright © 2020-2023  润新知