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-stub
与 azcopy 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。 保留从 stat
或 statx
收集到对象元数据中的属性信息。
--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
默认情况下启用,会以安全方式处理文件共享相关操作。 可用选项:Enable
、Disable
。 选择 Disable
可返回到对尾随点文件的旧式处理(可能不安全),其中文件服务将剪裁路径中的任何尾随点。 如果传输包含两个仅相差一个尾随点的路径(例如 mypath
和 mypath.
),这可能导致潜在的数据损坏。 如果此标志设置为 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 域。 用分号分隔多个条目。