Converter blobs de acréscimo e blobs de páginas em blobs de blocos

Para converter blobs, copie-os para um novo local usando o PowerShell, a CLI do Azure ou o AzCopy. Você usará parâmetros de comando para garantir que o blob de destino seja um blob de blocos. Todos os metadados do blob de origem são copiados para o blob de destino.

Converter blobs de acréscimo e blobs de páginas

  1. Abra uma janela de comando do Windows PowerShell.

  2. Entre em sua assinatura do Azure com o comando Connect-AzAccount e siga as instruções na tela.

    Connect-AzAccount
    
  3. Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura ativa como a assinatura da conta de armazenamento que contém os blobs de páginas e de acréscimo.

    $context = Get-AzSubscription -SubscriptionId '<subscription-id>'
    Set-AzContext $context
    

    Substitua o valor de espaço reservado <subscription-id> pela ID da sua assinatura.

  4. Crie o contexto da conta de armazenamento usando o comando New-AzStorageContext. Inclua o parâmetro -UseConnectedAccount para que as operações de dados sejam executadas usando suas credenciais do Microsoft Entra.

    $ctx = New-AzStorageContext -StorageAccountName '<storage account name>' -UseConnectedAccount
    
  5. Use o comando Copy-AzStorageBlob e defina o parâmetro -DestBlobType como 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
    
  6. Para copiar um instantâneo de blob de páginas para o blob de blocos, use o comando Get-AzStorageBlob e Copy-AzStorageBlob com o parâmetro -DestBlobType como 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 
    
    

    Dica

    O -StandardBlobTier é opcional. Se você omitir esse parâmetro, o blob de destino inferirá sua camada da configuração da camada de acesso da conta padrão. Para alterar a camada depois de criar um blob de blocos, consulte Alterar a camada de um blob.

Confira também