Partilhar via


Exportar/Copiar um disco gerido para uma conta de armazenamento com a CLI do Azure

Este script exporta o VHD subjacente de um disco gerido para uma conta de armazenamento na mesma região ou numa região diferente. Gera primeiro o URI de SAS do disco gerido e, em seguida, utiliza-o para copiar o VHD para uma conta de armazenamento. Utilize este script para copiar discos geridos para outra região, para expansão a nível regional. Se quiser publicar o ficheiro VHD de um disco gerido no Azure Marketplace, pode utilizar este script para copiar o ficheiro VHD para uma conta de armazenamento e, em seguida, gerar um URI de SAS do VHD copiado para publicá-lo no Marketplace.

Para executar este exemplo, instale a versão mais recente da CLI do Azure. Para começar, execute az login para criar uma ligação ao Azure.

Os exemplos da CLI do Azure são escritos para a bash shell. Para executar este exemplo no Windows PowerShell ou na Linha de Comandos, poderá ter de alterar os elementos do script.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Script de exemplo

# Verified per Raman Kumar as of 2/23/2022

# <FullScript>
#Provide the subscription Id where managed disk is created
subscriptionId="<subscriptionId>"

#Provide the name of your resource group where managed disk is created
resourceGroupName=myResourceGroupName

#Provide the managed disk name 
diskName=myDiskName

#Provide Shared Access Signature (SAS) expiry duration in seconds e.g. 3600.
#Know more about SAS here: https://docs.microsoft.com/azure/storage/storage-dotnet-shared-access-signature-part-1
sasExpiryDuration=3600

#Provide storage account name where you want to copy the underlying VHD file of the managed disk. 
storageAccountName=mystorageaccountname

#Name of the storage container where the downloaded VHD will be stored
storageContainerName=mystoragecontainername

#Provide the key of the storage account where you want to copy the VHD 
storageAccountKey=mystorageaccountkey

#Provide the name of the destination VHD file to which the VHD of the managed disk will be copied.
destinationVHDFileName=myvhdfilename.vhd

az account set --subscription $subscriptionId

sas=$(az disk grant-access --resource-group $resourceGroupName --name $diskName --duration-in-seconds $sasExpiryDuration --query [accessSas] -o tsv)

az storage blob copy start --destination-blob $destinationVHDFileName --destination-container $storageContainerName --account-name $storageAccountName --account-key $storageAccountKey --source-uri $sas
# </FullScript>

Explicação do script

Este script utiliza os seguintes comandos para gerar o URI de SAS de um disco gerido e copia o VHD subjacente para uma conta de armazenamento com o URI de SAS. Cada comando na tabela liga à documentação específica do comando.

Comando Notas
az disk grant-access Gera o SAS só de leitura utilizado para copiar o ficheiro VHD subjacente para uma conta de armazenamento ou transferi-lo para o local
az storage blob copy start Copia um blob de forma assíncrona de uma conta de armazenamento para outra

Passos seguintes

Criar um disco gerido a partir de um VHD

Criar uma máquina virtual a partir de um disco gerido

Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.

Pode ver exemplos do script da CLI da máquina virtual e discos geridos adicionais na Documentação da VM Linux do Azure.