Sdílet prostřednictvím


Export nebo zkopírování spravovaného disku do účtu úložiště pomocí Azure CLI

Tento skript exportuje základní virtuální pevný disk spravovaného disku do účtu úložiště ve stejné nebo jiné oblasti. Nejprve vygeneruje identifikátor URI SAS spravovaného disku a pak pomocí něj zkopíruje virtuální pevný disk do účtu úložiště. Tento skript můžete použít ke zkopírování spravovaných disků do jiné oblasti za účelem regionálního rozšíření. Pokud chcete publikovat soubor VHD spravovaného disku v Azure Marketplace, můžete tento skript použít ke zkopírování souboru VHD do účtu úložiště a následnému vygenerování identifikátoru URI SAS zkopírovaného virtuálního pevného disku, který ho publikuje na Marketplace.

Pokud chcete spustit tuto ukázku, nainstalujte nejnovější verzi Azure CLI. Spuštěním příkazu az login vytvořte připojení k Azure.

Ukázky pro Azure CLI jsou napsané pro bash prostředí. Pokud chcete tuto ukázku spustit na Windows PowerShell nebo příkazovém řádku, budete možná muset změnit prvky skriptu.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Ukázkový skript

# 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>

Vysvětlení skriptu

Tento skript k vygenerování identifikátoru URI SAS spravovaného disku a zkopírování základního virtuálního pevného disku do účtu úložiště s použitím tohoto identifikátoru URI SAS používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.

Příkaz Poznámky
az disk grant-access Vygeneruje sdílený přístupový podpis jen pro čtení, který se použije ke zkopírování základního souboru VHD do účtu úložiště nebo jeho stažení do místního prostředí.
az storage blob copy start Asynchronně zkopíruje objekt blob z jednoho účtu úložiště do jiného.

Další kroky

Vytvoření spravovaného disku z virtuálního pevného disku

Vytvoření virtuálního počítače ze spravovaného disku

Další informace o Azure CLI najdete v dokumentaci k Azure CLI.

Další ukázkové skripty rozhraní příkazového řádku pro virtuální počítače a spravované disky najdete v dokumentaci k virtuálním počítačům Azure s Linuxem.