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żyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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 językach skryptów, zobacz Wybieranie odpowiedniego narzędzia 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 osType
elementu . 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.