你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 AzCopy v10(预览版)替换 blob 属性和元数据

可以使用 AzCopy 更改一个或多个 blob 的访问层,并替换(覆盖)元数据和一个或多个 blob 的索引标记。

重要

此功能目前以预览版提供。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

入门

请参阅 AzCopy 入门一文下载 AzCopy,并了解如何提供存储服务的授权凭据。

注意

本文中的示例假定你已使用 Microsoft Entra ID 提供了授权凭据。

如果你希望使用 SAS 令牌来授权访问 Blob 数据,可将该令牌追加到每个 AzCopy 命令中的资源 URL。 例如:'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'

更改访问层

若要更改 blob 的访问层,请使用 azcopy set-properties 命令并将 -block-blob-tier 参数设置为访问层的名称。

提示

此示例将路径参数括在单引号 ('') 内。 在除 Windows 命令 Shell (cmd.exe) 以外的所有命令 shell 中,都请使用单引号。 如果使用 Windows 命令 Shell (cmd.exe),请用双引号 ("") 而不是单引号 ('') 括住路径参数。

语法

azcopy set-properties 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<blob-name>' --block-blob-tier=<access-tier>

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --block-blob-tier=hot

若要更改虚拟目录中所有 blob 的访问层,请参阅虚拟目录名称(而不是 blob 名称),然后将 --recursive=true 追加到命令。

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myvirtualdirectory' --block-blob-tier=hot --recursive=true

若要将 blob 从存档层解除冻结到联机层,请将 --rehydrate-priority 设置为 standardhigh。 默认情况下,此参数设置为 standard。 若要详细了解关于每个选项的权衡,请参阅解除冻结优先级

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --block-blob-tier=hot --rehydrate-priority=high

替换元数据

若要替换 blob 的元数据,请使用 azcopy set-properties 命令并将 --metadata 参数设置为一个或多个键值对。

提示

此示例将路径参数括在单引号 ('') 内。 在除 Windows 命令 Shell (cmd.exe) 以外的所有命令 shell 中,都请使用单引号。 如果使用 Windows 命令 Shell (cmd.exe),请用双引号 ("") 而不是单引号 ('') 括住路径参数。

语法

azcopy set-properties 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<blob-name>' --metadata=<key>=<value>;<key>=<value>

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --metadata=mykey1=myvalue1;mykey2=myvalue2

若替换虚拟目录中所有 blob 的元数据,请参阅虚拟目录名称(而不是 blob 名称),然后将 --recursive=true 追加到命令。

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myvirtualdirectory' --metadata=mykey1=myvalue1;mykey2=myvalue2 --recursive=true

若要清除元数据,请省略标记并将 --metadata=clear 追加到命令末尾。

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --metadata=clear

替换索引标记

若要替换 blob 的索引标记,请使用 azcopy set-properties 命令并将 --blob-tags 参数设置为一个或多个键值对。 设置 Blob 索引标记的操作可由存储 Blob 数据所有者来执行,也可由具有共享访问签名且有权访问 Blob 的标记(SAS 权限 t)的任何人来执行。 此外,具有 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write 权限的 RBAC 用户也可执行此操作。

提示

此示例将路径参数括在单引号 ('') 内。 在除 Windows 命令 Shell (cmd.exe) 以外的所有命令 shell 中,都请使用单引号。 如果使用 Windows 命令 Shell (cmd.exe),请用双引号 ("") 而不是单引号 ('') 括住路径参数。

语法

azcopy set-properties 'https://<storage-account-name>.blob.core.windows.net/<container-name>/<blob-name>' --blob-tags=<tag>=<value>;<tag>=<value>

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags=mytag1=mytag1value;mytag2=mytag2value

若替换虚拟目录中所有 blob 的索引标记,请参阅虚拟目录名称(而不是 blob 名称),然后将 --recursive=true 追加到命令。

示例

azcopy set-properties 'https://mystorageaccount.blob.core.windows.net/mycontainer/myvirtualdirectory' --blob-tags=mytag1=mytag1value;mytag2=mytag2value

后续步骤

如需了解更多示例,请参阅以下文章:

请参阅以下文章了解如何配置设置、优化性能和排查问题: