使用 AzCopy v10 替换 blob 属性和元数据

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

开始

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

注意

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

如果要使用 SAS 令牌来授权访问 Blob 数据,请将该令牌追加到每个 AzCopy 命令中的资源 URL。 例如:'https://<storage-account-name>.blob.core.chinacloudapi.cn/<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.chinacloudapi.cn/<container-name>/<blob-name>' --block-blob-tier=<access-tier>

示例

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

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

示例

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

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

示例

azcopy set-properties 'https://mystorageaccount.blob.core.chinacloudapi.cn/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.chinacloudapi.cn/<container-name>/<blob-name>' --metadata=<key>=<value>;<key>=<value>

示例

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

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

示例

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

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

示例

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

替换索引标记

若要替换 blob 的索引标记,请使用 azcopy set-properties 命令并将 --blob-tags 参数设置为一个或多个键值对。 存储 Blob 数据所有者角色和具有共享访问签名(有权访问 Blob 标记(tSAS 权限)的任何人都可以设置 Blob 索引标记。 此外,具有 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.chinacloudapi.cn/<container-name>/<blob-name>' --blob-tags=<tag>=<value>;<tag>=<value>

示例

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

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

示例

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

后续步骤

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

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