Могу ли я делать то же самое, что и Azure Powershell, с Azure CLI? (Загрузить VHD)

Итак, у меня есть оригинальный vhd-файл размером 90 МБ.

При загрузке виртуального жесткого диска с помощью модуля Azure Powershell Add-AzureRMVhd размер загруженного виртуального жесткого диска составляет 2 ГБ.

Add-AzureRmVhd -LocalFilePath $sourceVHD -Destination $destinationVHD -ResourceGroupName $resourceGroupName -NumberOfUploaderThreads 5

Загрузка vhd с помощью azure cli приводит к тому, что загруженный vhd имеет размер 90 МБ.

az storage blob upload --account-name tstorage --container-name tcontainer --file /home/azure/images/test.vhd --name test.vhd --type page

Я могу использовать vhd 2 ГБ для создания изображения, но не могу использовать 90 МБ.

Есть ли способ выполнить функцию модуля PowerShell с помощью AZ cli?


person doggydogworld    schedule 10.06.2019    source источник
comment
Могу я узнать, почему вы настаиваете на использовании лазурного клина?   -  person Joy Wang    schedule 11.06.2019


Ответы (1)


Я попробовал команду ниже, и она сработала для меня. Попробуйте выполнить ее и посмотреть, работает ли она для вас с помощью Azure CLI.

#!/bin/bash

# Create a resource group
az group create -n myResourceGroup -l westus

# Create the storage account to upload the vhd
az storage account create -g myResourceGroup -n mystorageaccount -l westus --sku PREMIUM_LRS

# Get a storage key for the storage account
STORAGE_KEY=$(az storage account keys list -g myResourceGroup -n mystorageaccount --query "[?keyName=='key1'] | [0].value" -o tsv)

# Create the container for the vhd
az storage container create -n vhds --account-name mystorageaccount --account-key ${STORAGE_KEY}

# Upload the vhd to a blob
az storage blob upload -c vhds -f ~/sample.vhd -n sample.vhd --account-name mystorageaccount --account-key ${STORAGE_KEY}

# Create the vm from the vhd
az vm create -g myResourceGroup -n myVM --image "https://myStorageAccount.blob.core.windows.net/vhds/sample.vhd" \
        --os-type linux --admin-username deploy --generate-ssh-keys

# Update the deploy user with your ssh key
az vm user update --resource-group myResourceGroup -n custom-vm -u deploy --ssh-key-value "$(< ~/.ssh/id_rsa.pub)"

# Get public IP address for the VM
IP_ADDRESS=$(az vm list-ip-addresses -g az-cli-vhd -n custom-vm \
    --query "[0].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv)

echo "You can now connect using 'ssh deploy@${IP_ADDRESS}'"

Надеюсь, это поможет.

person Mohit Verma    schedule 11.06.2019