你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 AzCopy v10 替换 blob 属性和元数据
可以使用 AzCopy 更改一个或多个 blob 的访问层,并替换(覆盖)元数据和一个或多个 blob 的索引标记。
开始使用
请参阅 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
设置为 standard
或 high
。 默认情况下,此参数设置为 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
后续步骤
如需了解更多示例,请参阅以下文章:
- 示例:上载
- 示例:下载
- 示例:在帐户之间复制
- 示例:同步
- 示例:Amazon S3 存储桶
- 示例:Google Cloud Storage
- 示例:Azure 文件存储
- 教程:使用 AzCopy 将本地数据迁移到云存储
请参阅以下文章了解如何配置设置、优化性能和排查问题: