Jak używać zmiennych w poleceniach interfejsu wiersza polecenia platformy Azure

Oprócz określania wartości bezpośrednio w poleceniu można podać wartości na kilka sposobów:

  • Używanie zmiennych powłoki
  • Ustawianie subskrypcji do użycia w wielu poleceniach
  • Tworzenie wartości domyślnych dla niektórych parametrów

W tym artykule omówiono różne sposoby określania wartości w poleceniach interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Używanie zmiennych powłoki

Interfejs wiersza polecenia platformy Azure działa w powłoce. W tym artykule jest używana powłoka Bash. Aby uzyskać informacje o innych powłokach, zobacz Efektywne używanie interfejsu wiersza polecenia platformy Azure. Zmienne w powłoce Bash umożliwiają przekazywanie wartości parametrów do poleceń. Korzystanie ze zmiennych za pomocą interfejsu wiersza polecenia platformy Azure umożliwia również ponowne użycie poleceń , fragmentacyjnych lub w skryptach.

W tym przykładzie tworzony jest nowy dysk magazynu tego samego typu co dysk magazynu na istniejącej maszynie wirtualnej.

# Bash script
# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01

# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
   --name $vmName --subscription "$MySubscription" \
   --query 'storageProfile.osDisk.osType' --output tsv)

# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType

W tym przykładzie pokazano, jak przypisać wartości do zmiennych, które są ponownie używane, takich jak MyResourceGroup i osType. Polecenie az vm get-instance-view połączone z zapytaniem storageProfile.osDisk.osType zwraca typ systemu operacyjnego dysku. Zawijanie polecenia za pomocą $() polecenia powoduje przypisanie wartości zwracanej polecenia do osTypeelementu . Aby dowiedzieć się więcej na temat --query zapytań i zapytań JMESPath, zobacz Jak wykonywać zapytania dotyczące danych wyjściowych poleceń interfejsu wiersza polecenia platformy Azure przy użyciu zapytania JMESPath.

Podczas przypisywania wartości do zmiennej z innego polecenia upewnij się, że polecenie używa zgodnego formatu wyjściowego. Polecenie az vm get-instance-view używa formatu wyjściowego tsv . Ta opcja zwraca wartości bez dodatkowego formatowania, kluczy lub innych symboli. Niektóre formaty danych wyjściowych obejmują strukturę lub znaki, takie jak znaki cudzysłowu. Aby uzyskać więcej informacji, zobacz Formaty danych wyjściowych dla poleceń interfejsu wiersza polecenia platformy Azure.

W tym przykładzie zmienna MySubscription musi być w cudzysłowie. Wartość zmiennej zawiera spacje, których polecenie nie może przeanalizować. Jeśli pracujesz tylko z identyfikatorami subskrypcji, nie musisz używać cudzysłowów.

Ustawianie subskrypcji

Wiele poleceń wymaga określonej subskrypcji. Zasoby platformy Azure istnieją w grupach zasobów, które istnieją w subskrypcjach. Interfejs wiersza polecenia platformy Azure używa subskrypcji domyślnej podczas sesji. Aby wyświetlić bieżącą wartość subskrypcji, uruchom polecenie az account show :

az account show --output table

Być może masz dostęp tylko do jednej subskrypcji. Aby uzyskać więcej informacji, zobacz Używanie subskrypcji platformy Azure z interfejsem wiersza polecenia platformy Azure Możesz użyć polecenia az account set , aby ustawić bieżącą subskrypcję:

az account set --subscription "My Demos"

Po ustawieniu subskrypcji można pominąć --Subscription parametr. Aby uzyskać więcej informacji, zobacz Używanie subskrypcji platformy Azure z interfejsem wiersza polecenia platformy Azure.

Tworzenie wartości domyślnych

Wartości niektórych parametrów można ustawić za pomocą polecenia az config set . W tym przykładzie ustawiono domyślną grupę zasobów:

az config set defaults.group=ContosoRGforVM

Po uruchomieniu tego polecenia możesz uruchomić następujące polecenie, aby utworzyć konto magazynu w grupie zasobów ContosoRGforVM:

az storage account create --name storage135 --location eastus --sku Standard_LRS

Zwróć uwagę, że w poleceniu nie określono żadnej grupy zasobów. Aby uzyskać więcej informacji, zobacz Ustawianie domyślnej grupy zasobów.

Napiwek

Polecenia uzyskujące wartości parametrów na różne sposoby mogą być mylące. Jeśli polecenie daje nieoczekiwany wynik, taki jak brak możliwości znalezienia grupy zasobów, może istnieć wartość domyślna.

Jeśli wystąpi błąd, uruchom ponownie polecenie z określonym parametrem i wartością. Jawna wartość parametru zawsze ma pierwszeństwo przed innymi opcjami.

W ten sposób można określić wartości dla kilku parametrów. Aby uzyskać więcej informacji, zobacz Konfiguracja interfejsu wiersza polecenia platformy Azure.

Czyszczenie zasobów

Jeśli utworzono zasoby, aby wypróbować dowolne polecenia w tym artykule, możesz je usunąć za pomocą polecenia az group delete :

az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG

To polecenie usuwa grupę i wszystkie zasoby, które zawiera jednocześnie.

Zobacz też