azcopy copy

将源数据复制到目标位置。

注意

AzCopy 不支持在传输期间主动更改源或目标的情况。

摘要

将源数据复制到目标位置。 支持的方向如下:

  • 本地 <-> Azure Blob(SAS 或 OAuth 身份验证)
  • 本地 < - > Azure 文件存储(共享/目录 SAS 身份验证或 OAuth 身份验证)
  • 本地 <-> Azure Data Lake Storage(SAS、OAuth 或 SharedKey 身份验证)
  • Azure Blob(SAS 或公共)-> Azure Blob(SAS 或 OAuth 身份验证)
  • Azure Data Lake Storage(SAS 或公共)-> Azure Data Lake Storage(SAS 或 OAuth 身份验证)
  • Azure Blob(SAS 或 OAuth 身份验证)<-> Azure Blob(SAS 或 OAuth 身份验证)- 请参阅准则
  • Azure Data Lake Storage(SAS 或 OAuth 身份验证)<-> Azure Data Lake Storage(SAS 或 OAuth 身份验证)
  • Azure Data Lake Storage(SAS 或 OAuth 身份验证)<-> Azure Blob(SAS 或 OAuth 身份验证)
  • Azure Blob(SAS 或公共)-> Azure 文件存储 (SAS)
  • Azure 文件(SAS 或 OAuth 身份验证)<- > Azure 文件(SAS 或 OAuth 身份验证)
  • Azure 文件存储 (SAS) -> Azure Blob(SAS 或 OAuth 身份验证)
  • AWS S3(访问密钥)-> Azure 块 Blob(SAS 或 OAuth 身份验证)
  • Google Cloud Storage(服务帐户密钥)-> Azure 块 Blob(SAS 或 OAuth 身份验证)

有关详细信息,请参阅示例。

高级

从本地磁盘上传时,AzCopy 会根据文件扩展名或内容(如果未指定扩展名)自动检测文件的内容类型。

内置的查找表较小,但在 Unix 上,已通过采用以下一个或多个名称的本地系统 mime.types 文件(如果可用)扩充了该查找表:

  • /etc/mime.types
  • /etc/apache2/mime.types
  • /etc/apache/mime.types

在 Windows 上,MIME 类型是从注册表提取的。 可以借助一个标志禁用此功能。 请参阅“标志”部分。

如果使用命令行设置环境变量,则可以在命令行历史记录中读取该变量。 请考虑从命令行历史记录中清除包含凭据的变量。 若要防止变量出现在历史记录中,可以使用脚本提示用户输入凭据,并设置环境变量。

azcopy copy [source] [destination] [flags]

示例

使用 OAuth 身份验证上传单个文件。 如果尚未登录到 AzCopy,请在运行以下命令之前运行 azcopy login 命令。

azcopy cp "/path/to/file.txt" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]"

与前面的示例相同,但这一次此命令还会计算文件内容的 MD5 哈希,并将其另存为 Blob 的 Content-MD5 属性:

azcopy cp "/path/to/file.txt" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]" --put-md5

使用 SAS 令牌上传单个文件:

azcopy cp "/path/to/file.txt" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]"

使用 SAS 令牌和管道(仅限块 Blob)上传单个文件:

cat "/path/to/file.txt" | azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]" --from-to PipeBlob

使用 OAuth 和管道(仅限块 Blob)上传单个文件:

cat "/path/to/file.txt" | azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]" --from-to PipeBlob

使用 SAS 令牌上传整个目录:

azcopy cp "/path/to/dir" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true

azcopy cp "/path/to/dir" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true --put-md5

使用 SAS 令牌和通配符 (*) 上传一组文件:

azcopy cp "/path/*foo/*bar/*.pdf" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]"

使用 SAS 令牌和通配符 (*) 上传文件和目录:

azcopy cp "/path/*foo/*bar*" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true

将文件和目录上传到 Azure 存储帐户,并在 Blob 上设置查询字符串编码标记。

  • 若要设置标记 {key = "bla bla", val = "foo"} 和 {key = "bla bla 2", val = "bar"},请使用以下语法:
  • azcopy cp "/path/*foo/*bar*" "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --blob-tags="bla%20bla=foo&bla%20bla%202=bar"
  • 键和值是 URL 编码的,键值对之间用与符号(“&”)分隔
  • 在 Blob 上设置标记时,SAS 中还有更多权限(“t”表示标记),如果没有这些权限,服务会返回授权错误。

使用 OAuth 身份验证下载单个文件。 如果尚未登录到 AzCopy,请在运行以下命令之前运行 azcopy login 命令。

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]" "/path/to/file.txt"

使用 SAS 令牌下载单个文件:

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]" "/path/to/file.txt"

使用 SAS 令牌下载单个文件,然后通过管道将输出传送到文件(仅限块 Blob):

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]" --from-to BlobPipe > "/path/to/file.txt"

使用 OAuth 下载单个文件,然后通过管道将输出传送到文件(仅限块 Blob):

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/blob]" --from-to BlobPipe > "/path/to/file.txt"

使用 SAS 令牌下载整个目录:

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" "/path/to/dir" --recursive=true

有关在 URL 中使用通配符 (*) 的说明:

仅支持通过两种方式在 URL 中使用通配符。

  • 紧接在 URL 的最后一个正斜杠 (/) 后面使用一个通配符。 这会将目录中的所有文件直接复制到目标,而不会将其放入子目录。

  • 也可以在容器名称中使用一个通配符,前提是 URL 只引用容器而不引用 Blob。 可以使用此方法从一部分容器中获取文件。

下载目录的内容,而不复制包含的目录本身。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[container]/[path/to/folder]/*?[SAS]" "/path/to/dir"

下载整个存储帐户。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/" "/path/to/dir" --recursive

在容器名称中使用通配符 (*),下载存储帐户中的一部分容器。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[container*name]" "/path/to/dir" --recursive

将文本文件(例如:versionidsFile)中列出的所有 Blob 版本从 Azure 存储下载到本地目录。 确保源是有效的 blob,目标是本地文件夹,versionidsFile 是一个文本文件,其中每个版本都列在单独一行上。 所有指定的版本都会下载到指定的目标文件夹中。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[containername]/[blobname]" "/path/to/dir" --list-of-versions="/another/path/to/dir/[versionidsFile]"

使用 SAS 令牌将单个 Blob 复制到另一个 Blob。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]"

使用 SAS 令牌和 OAuth 令牌将单个 Blob 复制到另一个 Blob。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]"

使用 SAS 令牌将一个 Blob 虚拟目录复制到另一个 Blob:

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true

使用 SAS 令牌将一个存储帐户中的所有 Blob 容器、目录和 Blob 复制到另一个存储帐户:

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn?[SAS]" "https://[destaccount].blob.core.chinacloudapi.cn?[SAS]" --recursive=true

使用访问密钥和 SAS 令牌将单个对象复制到 Amazon Web Services (AWS) S3 中的 Blob 存储。 首先,为 AWS S3 源设置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

azcopy cp "https://s3.amazonaws.com/[bucket]/[object]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]"

使用访问密钥和 SAS 令牌将整个目录复制到 AWS S3 中的 Blob 存储。 首先,为 AWS S3 源设置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

azcopy cp "https://s3.amazonaws.com/[bucket]/[folder]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true

请参阅 https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html 以更好地了解 [folder] 占位符。

使用访问密钥和 SAS 令牌将所有桶复制到 Amazon Web Services (AWS) 中的 Blob 存储。 首先,为 AWS S3 源设置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

azcopy cp "https://s3.amazonaws.com/" "https://[destaccount].blob.core.chinacloudapi.cn?[SAS]" --recursive=true

使用访问密钥和 SAS 令牌将所有桶复制到 Amazon Web Services (AWS) 区域中的 Blob 存储。 首先,为 AWS S3 源设置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

azcopy cp "https://s3-[region].amazonaws.com/" "https://[destaccount].blob.core.chinacloudapi.cn?[SAS]" --recursive=true

在桶名称中使用通配符 (*) 来复制一部分桶。 如前面的示例所示,需要提供访问密钥和 SAS 令牌。 请确保为 AWS S3 源设置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

azcopy cp "https://s3.amazonaws.com/[bucket*name]/" "https://[destaccount].blob.core.chinacloudapi.cn?[SAS]" --recursive=true

将 Blob 从一个 Blob 存储复制到另一个 Blob 存储,并保留源中的标记。 若要保留标记,请使用以下语法:

azcopy cp "https://[account].blob.core.chinacloudapi.cn/[source_container]/[path/to/directory]?[SAS]" "https://[account].blob.core.chinacloudapi.cn/[destination_container]/[path/to/directory]?[SAS]" --s2s-preserve-blob-tags=true

将文件和目录传输到 Azure 存储帐户,并在 Blob 上设置给定查询字符串编码标记。

  • 若要设置标记 {key = "bla bla", val = "foo"} 和 {key = "bla bla 2", val = "bar"},请使用以下语法:

    azcopy cp "https://[account].blob.core.chinacloudapi.cn/[source_container]/[path/to/directory]?[SAS]" "https://[account].blob.core.chinacloudapi.cn/[destination_container]/[path/to/directory]?[SAS]" --blob-tags="bla%20bla=foo&bla%20bla%202=bar"

  • 键和值是 URL 编码的,键值对之间用与符号(“&”)分隔

  • 在 Blob 上设置标记时,SAS 中还有其他权限(“t”表示标记),如果没有这些权限,服务将返回授权错误。

使用服务帐户密钥和 SAS 令牌将的单个对象从 Google Cloud Storage (GCS) 复制到 Blob 存储。 首先,为 GCS 源设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。

azcopy cp "https://storage.cloud.google.com/[bucket]/[object]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/blob]?[SAS]"

使用服务帐户密钥和 SAS 令牌将整个目录从 Google Cloud Storage (GCS) 复制到 Blob 存储。 首先,为 GCS 源设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。

azcopy cp "https://storage.cloud.google.com/[bucket]/[folder]" "https://[destaccount].blob.core.chinacloudapi.cn/[container]/[path/to/directory]?[SAS]" --recursive=true

使用服务帐户密钥和 SAS 令牌将整个 Bucket 从 Google Cloud Storage (GCS) 复制到 Blob 存储。 首先,为 GCS 源设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。

azcopy cp "https://storage.cloud.google.com/[bucket]" "https://[destaccount].blob.core.chinacloudapi.cn/?[SAS]" --recursive=true

使用服务帐户密钥和 SAS 令牌将所有 Bucket 从 Google Cloud Storage (GCS) 复制到 Blob 存储。 首先,为 GCS 源设置环境变量 GOOGLE_APPLICATION_CREDENTIALS 和 GOOGLE_CLOUD_PROJECT=<project-id>

azcopy cp "https://storage.cloud.google.com/" "https://[destaccount].blob.core.chinacloudapi.cn/?[SAS]" --recursive=true

通过使用目标的服务帐户密钥和 SAS 令牌,使用 Google Cloud Storage (GCS) 中 Bucket 名称中的通配符 (*) 复制 Bucket 的子集。 首先,为 GCS 源设置环境变量 GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_CLOUD_PROJECT=<project-id>

azcopy cp "https://storage.cloud.google.com/[bucket*name]/" "https://[destaccount].blob.core.chinacloudapi.cn/?[SAS]" --recursive=true

如果要复制在 AzCopy 作业启动之前或之后更改的文件,AzCopy 在作业日志中提供了 ISO8601 格式的日期和时间(在作业日志中搜索“ISO 8601 START TIME”),可与 --include-after--include-before 标志一起使用,见下例。 这对增量副本很有用。

使用 include-after 标志复制容器中在给定日期和时间(ISO8601 格式)或之后修改的文件子集。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[containername]?[SAS]" "https://[dstaccount].blob.core.windows.net/[containername]?[SAS]" --include-after="2020-08-19T15:04:00Z"

使用 include-before 标志复制容器中在给定日期和时间(ISO8601 格式)或之前修改的文件子集。

azcopy cp "https://[srcaccount].blob.core.chinacloudapi.cn/[containername]?[SAS]" "https://[dstaccount].blob.core.windows.net/[containername]?[SAS]" --include-before="2020-08-19T15:04:00Z"

选项

--as-subdir 默认值为 True。 将文件夹源作为子目录放置在目标下。 (默认值为 true)

--backup 激活 Windows 用于上传的 SeBackupPrivilege 或用于下载的 SeRestorePrivilege,以允许 AzCopy 查看和读取所有文件(无论其文件系统权限如何),并恢复所有权限。 要求运行 AzCopy 的帐户已经具有这些权限(例如,拥有管理员权限,或者是“备份操作员”组的成员)。 此标志激活帐户已经具有的权限

--blob-tags(字符串)在 Blob 上设置标记以对存储帐户中的数据进行分类

--blob-type(字符串)定义目标中的 Blob 类型。 此选项用于上传 Blob 以及在帐户之间进行复制(默认值为“Detect”)。 有效值包括“Detect”、“BlockBlob”、“PageBlob”和“AppendBlob”。 在帐户之间复制时,使用值“Detect”会导致 AzCopy 使用源 Blob 的类型来确定目标 Blob 的类型。 上传文件时,“Detect”会根据文件扩展名确定文件是 VHD 文件还是 VHDX 文件。 如果文件是 VHD 或 VHDX 文件,则 AzCopy 会将该文件视为页 Blob。 (默认值为“Detect”)

--block-blob-tier(字符串)使用此 Blob 层将块 Blob 上传到 Azure 存储。 (默认值为“None”)

--block-size-mb(浮点数)在上传到 Azure 存储以及从 Azure 存储下载时使用此块大小(以 MiB 为单位)。 默认值是根据文件大小自动计算的。 允许使用小数(例如:0.25)。 在上传或下载时,允许的最大块大小为 0.75 * AZCOPY_BUFFER_GB。 有关详细信息,请参阅优化内存使用

--cache-control(字符串)设置 cache-control 标头。 下载时返回。

--check-length - 传输后检查目标上的文件长度。 如果源与目标之间不匹配,则将传输标记为失败。 (默认值为 true)

--check-md5(字符串)指定下载时验证 MD5 哈希的严格程度。 仅在下载时可用。 可用选项:NoCheck、LogOnly、FailIfDifferent、FailIfDifferentOrMissing。 (默认值为“FailIfDifferent”)

--content-disposition(字符串)设置 content-disposition 标头。 下载时返回。

--content-encoding(字符串)设置 content-encoding 标头。 下载时返回。

--content-language(字符串)设置 content-language 标头。 下载时返回。

--content-type(字符串)指定文件的内容类型。 暗指 no-guess-mime-type。 下载时返回。

--cpk-by-name(字符串)客户端按名称提供的密钥使客户端可以向 Azure Blob 存储发出请求,以便按每个请求提供加密密钥。 提供的密钥名称提取自 Azure 密钥保管库,并用于对数据进行加密

--cpk-by-value - 默认值为 false。 客户端按名称提供的密钥使客户端可以向 Azure Blob 存储发出请求,以便按每个请求提供加密密钥。 提供的密钥及其哈希提取自环境变量

--decompress 下载时自动解压缩文件(如果 content-encoding 指示文件已压缩)。 支持的 content-encoding 值为“gzip”和“deflate”。 不需要提供“.gz”/“.gzip”或“.zz”文件扩展名,但如果存在,则会将其移除。

--disable-auto-decoding 默认为 false 以在 Windows 上启用非法字符的自动解码。 可以设置为 true 以禁用自动解码。

--dry-run - 默认值为 false。 打印此命令将复制的文件路径。 此标志不会复制实际文件。 --overwrite 标志不起作用。 如果将 --overwrite 标志设置为 false,即使目标目录中存在这些文件,也会列出源目录中的文件。

--exclude-attributes(字符串)(仅限 Windows)- 排除其特性与特性列表相匹配的文件。 例如:A;S;R

--exclude-blob-type(字符串)(可选)指定从容器或帐户复制 Blob 时要排除的 Blob 类型 (BlockBlob/PageBlob/AppendBlob)。 此标志不适用于将数据从非 Azure 服务复制到 Azure 服务。 应使用“;”分隔多个 Blob。

--exclude-container(字符串)仅在帐户间传输时排除这些容器。 可以使用“;”分隔多个容器。

--exclude-path(字符串)复制时排除这些路径。 此选项不支持通配符 (*)。 检查相对路径前缀(例如:myFolder;myFolder/subDirName/file.pdf)。 与帐户遍历结合使用时,路径不包含容器名称。

--exclude-pattern(字符串)复制时排除这些文件。 此选项支持通配符 (*)

--exclude-regex(字符串)排除与正则表达式相符的文件的所有相对路径。 使用“;”分隔正则表达式。

--follow-symlinks 从本地文件系统上传时跟踪符号链接。

--force-if-read-only 在 Windows 或 Azure 文件上覆盖现有文件时,即使现有文件已设置只读属性,也要执行覆盖操作

--from-to(字符串)(可选)指定源-目标组合。 例如:LocalBlob、BlobLocal、LocalBlobFS。 管道:BlobPipe、PipeBlob

-h--help copy 命令的帮助

--include-after(字符串)只包括在给定日期/时间或之后修改的文件。 该值应为 ISO8601 格式。 如果未指定时区,则假定该值位于运行 AzCopy 的计算机的本地时区中。 例如,2020-08-19T15:04:00Z 表示 UTC 时间,2020-08-19 表示本地时区的午夜 (00:00)。 从 AzCopy 10.5 开始,此标志仅适用于文件,不适用于文件夹,因此在将此标志与 --preserve-smb-info--preserve-smb-permissions 一起使用时,将不会复制文件夹属性。

--include-attributes(字符串)(仅限 Windows)包括其特性与特性列表相匹配的文件。 例如:A;S;R

--include-before(字符串)只包括在给定日期/时间或之前修改的文件。 该值应为 ISO8601 格式。 如果未指定时区,则假定该值位于运行 AzCopy 的计算机的本地时区中。 例如,2020-08-19T15:04:00Z 表示 UTC 时间,2020-08-19 表示本地时区的午夜 (00:00)。 从 AzCopy 10.7 开始,此标志仅适用于文件,不适用于文件夹,因此当将此标志与 --preserve-smb-info--preserve-smb-permissions 一起使用时,将不会复制文件夹属性。

--include-directory-stub 默认为 False,即忽略目录存根。 目录存根具有元数据 hdi_isfolder:true 的 Blob。 将值设置为 true 会在传输期间保留目录存根。 包括这个不具有默认为 true(例如azcopy copy --include-directory-stubazcopy copy --include-directory-stub=true 相同)值的标志。

--include-path(字符串)复制时仅包括这些路径。 此选项不支持通配符 (*)。 检查相对路径前缀(例如:myFolder;myFolder/subDirName/file.pdf)。

--include-pattern(字符串)复制时仅包括这些文件。 此选项支持通配符 (*)。 使用“;”分隔文件。

--include-regex(字符串)仅包括与正则表达式相符的文件的相对路径。 使用“;”分隔正则表达式。

--list-of-versions(字符串)指定一个文件,其中每个版本 ID 都列在单独的一行中。 确保源必须指向单个 Blob,并且使用此标志在文件中指定的所有版本 ID 必须仅属于源 Blob。 AzCopy 会将指定的版本下载到提供的目标文件夹中。

--metadata(字符串)将这些键值对作为元数据上传到 Azure 存储。

--no-guess-mime-type 阻止 AzCopy 根据文件的扩展名或内容来检测内容类型。

--overwrite(字符串)如果此标志设置为 true,则会覆盖目标上有冲突的文件和 Blob。 (默认值为“true”)可能的值包括“true”“false”“prompt”和“ifSourceNewer”。 对于支持文件夹的目标,如果此标志为“true”,或对提示提供了肯定相应,则将覆盖冲突的文件夹级别属性。 (默认值为“true”)

--page-blob-tier(字符串)使用此 Blob 层将页 Blob 上传到 Azure 存储。 (默认值为“None”)。 (默认值为“None”)

--preserve-last-modified-time 仅当目标为文件系统时才可用。

--preserve-owner 仅当下载时,且仅当使用 --preserve-smb-permissions 时才起作用。 如果为 true(默认值),则下载内容中将保留文件“所有者”和“组”。 如果设置为 false,

--preserve-smb-permissions 仍保留 ACL,但“所有者”和“组”将基于运行 AzCopy 的用户(默认值为 true)

--preserve-permissions 默认为 false。 在感知资源(Windows 和 Azure 文件,或 Azure Data Lake Storage 到 Azure Data Lake Storage)之间保留 ACL。 对于具有分层命名空间的帐户,安全主体必须是目标容器的责任用户,或者必须被分配存储 Blob 数据所有者角色,范围仅限于目标容器、存储帐户、父资源组或订阅。 对于下载操作,还需要使用 --backup 标志来恢复权限,其中新所有者将不是运行 AzCopy 的用户。 此标志同时适用于文件和文件夹,除非指定了“仅文件”筛选器(例如包含模式)。

--preserve-posix-properties - 默认值为 false。 保留从 statstatx 收集到对象元数据中的属性信息。

--preserve-smb-info 对于 SMB 感知位置,默认情况下,标志设置为 true。 保留 SMB 感知资源(Windows 和 Azure 文件存储)之间的 SMB 属性信息(上次写入时间、创建时间、属性位)。 只会传输 Azure 文件存储支持的属性位;其他属性位将被忽略。 此标志同时适用于文件和文件夹,除非指定了“仅文件”筛选器(例如包含模式)。 为文件夹传输的信息与为文件传输的信息几乎相同,只是 Last Write Time 除外,不会为文件夹保留该信息。 (默认值为 true)

--preserve-symlinks 如果启用,则符号链接目标将保留为 blob 内容,而不是在符号链接的另一端上传文件或文件夹。

--put-blob-size-mb 将此大小(以 MiB 指定)用作阈值,以确定在上传到 Azure 存储时是否将 blob 作为单个 PUT 请求上传。 默认值是根据文件大小自动计算的。 允许使用小数(例如:0.25)。

--put-md5 - 创建每个文件的 MD5 哈希,并将该哈希另存为目标 Blob 或文件的 Content-MD5 属性。 (默认不会创建哈希。)仅在上传时可用。

--recursive 从本地文件系统上传时以递归方式检查子目录。

--s2s-detect-source-changed 检测源文件/Blob 在读取时是否发生更改。 (此参数仅适用于服务到服务的副本,因为将对上传和下载永久启用相应的检查。)

--s2s-handle-invalid-metadata(字符串)指定如何处理无效的元数据键。 可用选项:ExcludeIfInvalid、FailIfInvalid、RenameIfInvalid。 (默认值为“ExcludeIfInvalid”)。 (默认值为“ExcludeIfInvalid”)

--s2s-preserve-access-tier 在服务间复制过程中保留访问层。 请参阅 Azure Blob 存储:热、冷和存档访问层,确保目标存储帐户支持设置访问层。 如果不支持设置访问层,请确保使用 s2sPreserveAccessTier=false 来绕过访问层的复制。 (默认值为 true)。 (默认值为 true)

--s2s-preserve-blob-tags - 默认值为 false。 在 blob 存储之间进行服务到服务传输过程中保留索引标记

--s2s-preserve-properties 在服务间复制过程中保留完整属性。 对于 AWS S3 和 Azure 文件存储的非单一文件源,列出操作不会返回对象和文件的完整属性。 若要保留完整属性,AzCopy 需要对每个对象或文件发送一个额外的请求。 (默认值为 true)

--trailing-dot 默认情况下启用,会以安全方式处理文件共享相关操作。 可用选项:EnableDisable。 选择 Disable 可返回到对尾随点文件的旧式处理(可能不安全),其中文件服务将剪裁路径中的任何尾随点。 如果传输包含两个仅相差一个尾随点的路径(例如 mypathmypath.),这可能导致潜在的数据损坏。 如果此标志设置为 Disable 并且 AzCopy 遇到尾随点文件,它将在扫描日志中警告客户,但不会尝试中止操作。 如果目标不支持尾随点文件(Windows 或 Blob 存储),当尾随点文件是传输的根目录时,AzCopy 将失败,并跳过枚举期间遇到的任何尾随点路径。

从父命令继承的选项

--cap-mbps(浮动)以兆位/秒为单位限制传输速率。 瞬间吞吐量可能与上限略有不同。 如果此选项设置为零或被省略,则吞吐量不受限制。

--log-level(字符串)定义日志文件的日志详细程度,可用级别:INFO(所有请求/响应)、WARNING(响应缓慢)、ERROR(仅限失败的请求)和 NONE(无输出日志)。 (默认值为“INFO”)。 (默认值为“INFO”)

--output-type(字符串)命令输出的格式。 选项包括:text、json。 默认值为“text”。 (默认值为“text”)

--trusted-microsoft-suffixes(字符串)指定可在其中发送 Microsoft Entra 登录令牌的其他域后缀。 默认值为“.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net”。 此处列出的任何内容都会添加到默认值。 为安全起见,应只在此处放置 Azure 域。 用分号分隔多个条目。

另请参阅