将追加 blob 和页 blob 转换为块 blob
若要转换 blob,请使用 PowerShell、Azure CLI 或 AzCopy 将它们复制到新位置。 你将使用命令参数来确保目标 blob 是块 blob。 源 blob 中的所有元数据都复制到目标 blob。
转换追加 blob 和页 blob
打开 Windows PowerShell 命令窗口。
使用 Connect-AzAccount 命令登录到 Azure 订阅,然后按屏幕说明操作。
Connect-AzAccount -Environment AzureChinaCloud
如果你的标识与多个订阅相关联,请将活动订阅设置为包含追加 blob 或页 blob 的存储帐户的订阅。
$context = Get-AzSubscription -SubscriptionId '<subscription-id>' Set-AzContext $context
将
<subscription-id>
占位符值替换为你的订阅 ID。使用 New-AzStorageContext 命令创建存储帐户上下文。 包含
-UseConnectedAccount
参数,以便使用 Microsoft Entra 凭据执行数据操作。$ctx = New-AzStorageContext -StorageAccountName '<storage account name>' -UseConnectedAccount
使用 Copy-AzStorageBlob 命令并将
-DestBlobType
参数设置为Block
。$containerName = '<source container name>' $srcblobName = '<source append or page blob name>' $destcontainerName = '<destination container name>' $destblobName = '<destination block blob name>' $destTier = '<destination block blob tier>' Copy-AzStorageBlob -SrcContainer $containerName -SrcBlob $srcblobName -Context $ctx -DestContainer $destcontainerName -DestBlob $destblobName -DestContext $ctx -DestBlobType Block -StandardBlobTier $destTier
若要将页 blob 快照复制到块 blob,请使用 Get-AzStorageBlob 和 Copy-AzStorageBlob 命令,且
-DestBlobType
参数为Block
。$containerName = '<source container name>' $srcPageBlobName = '<source page blob name>' $srcPageBlobSnapshotTime = '<snapshot time of source page blob>' $destContainerName = '<destination container name>' $destBlobName = '<destination block blob name>' $destTier = '<destination block blob tier>' Get-AzStorageBlob -Container $containerName -Blob $srcPageBlobName -SnapshotTime $srcPageBlobSnapshotTime -Context $ctx | Copy-AzStorageBlob -DestContainer $destContainerName -DestBlob $destBlobName -DestBlobType block -StandardBlobTier $destTier -DestContext $ctx
提示
-StandardBlobTier
参数是可选的。 如果省略该参数,则目标 blob 将从默认帐户访问层设置推断其层。 若要在创建块 blob 后更改层,请参阅更改 blob 的层。