Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure CLI to narzędzie wiersza polecenia, które umożliwia konfigurowanie i zarządzanie zasobami Azure z wielu różnych powłok. Po wybraniu preferowanego środowiska powłoki i zainstalowaniu Azure CLI skorzystaj z tego artykułu, aby dowiedzieć się, jak uniknąć typowych pułapek i pomyślnie używać Azure CLI.
Aby dowiedzieć się więcej o konkretnych poleceniach interfejsu wiersza polecenia platformy Azure, zobacz listę dokumentacji interfejsu wiersza polecenia platformy Azure.
Wybieranie języka skryptów
Interfejs wiersza polecenia platformy Azure to narzędzie typu open source, które można uruchomić w wielu językach skryptów.
- Jest to język skryptowy, który określa reguły cytowania, znaków escape i kontynuacji wiersza dla poleceń interfejsu wiersza polecenia platformy Azure.
- Kopiowanie składni poleceń Azure CLI zawierającej pojedyncze lub podwójne cudzysłowy, znaki ucieczki lub znaki kontynuacji wiersza między językami może być trudne.
- Większość dokumentacji Microsoftu dla Azure CLI jest napisana i przetestowana w powłoce Bash.
- Jeśli program PowerShell jest wybranym językiem skryptów, rozważ użycie narzędzia Azure PowerShell, który ma natywną funkcjonalność języka skryptów programu PowerShell .
Aby uzyskać więcej informacji na temat opcji języka skryptów dla interfejsu wiersza polecenia platformy Azure, zobacz Wybieranie odpowiedniego narzędzia wiersza polecenia.
Często zadawane pytania
Oto kilka linków, które ułatwiają udzielenie odpowiedzi na najczęściej zadawane pytania dotyczące interfejsu wiersza polecenia platformy Azure:
Obszar tematu z linkiem do artykułu | Wskazówka |
---|---|
Praca za serwerem proxy | Informacje o sposobie pracy z serwerem proxy. |
Menedżer kont sieci Web (WAM) | Informacje na temat WAM i sposobu jego wyłączania. |
Ustawienia konfiguracji | Lista dostępnych ustawień konfiguracji interfejsu wiersza polecenia platformy Azure, włączanie/wyłączanie funkcji interfejsu wiersza polecenia platformy Azure i ustawianie wartości domyślnych. |
Formaty danych wyjściowych | Instrukcje dotyczące przechowywania identyfikatorów zasobów platformy Azure w zmiennych i ochrony tajnych danych zwracanych przez polecenia Azure CLI. |
Przekazywanie wartości JSON w ciągu znaków | Cytowanie przykładów wartości parametrów JSON. |
Cykl życia wsparcia | Informacje o obsługiwanych systemach operacyjnych, językach skryptów i zakończeniu obsługi dla wersji i zależności Azure CLI. |
API REST | Alternatywne polecenie az rest do użycia, gdy określone polecenie interfejsu wiersza polecenia platformy Azure nie jest dostępne dla zasobu platformy Azure. |
Grupy referencyjne interfejsu wiersza polecenia platformy Azure | Lista od A do Z grup referencyjnych Azure CLI z możliwością przejścia do podgrup i wszystkich poleceń Azure CLI. |
Artykuły dotyczące interfejsu wiersza polecenia platformy Azure | Kompleksowa lista przewodników szybkiego startu, poradników i samouczków używających poleceń referencyjnych interfejsu wiersza polecenia platformy Azure. Lista jest grupowana według grupy referencyjnej i podgrupy w celu łatwego wyszukiwania. |
Przykłady interfejsu wiersza polecenia platformy Azure | Lista przykładów od A do Z, w tym przykłady znajdujące się w repozytorium GitHub Azure-samples/azure-cli-samples. |
Rozwiązywanie problemów | Porady dotyczące przyczyny błędu i korygowania. |
Co nowego | Krótkie podsumowanie nowych funkcji interfejsu wiersza polecenia platformy Azure. |
Przekazywanie wartości do innego polecenia
Jeśli wartość jest używana więcej niż raz, przypisz ją do zmiennej. Zmienne umożliwiają używanie wartości więcej niż raz lub tworzenie bardziej ogólnych skryptów. Ten przykład przypisuje identyfikator znaleziony przez polecenie az vm list do zmiennej.
# assign the list of running VMs to a variable
running_vm_ids=$(az vm list --resource-group MyResourceGroup --show-details \
--query "[?powerState=='VM running'].id" --output tsv)
# verify the value of the variable
echo $running_vm_ids
Jeśli wartość jest używana tylko raz, rozważ potokowanie. (Potok przekazuje dane wyjściowe jednego polecenia jako dane wejściowe do drugiego polecenia).
az vm list --query "[?powerState=='VM running'].name" --output tsv | grep my_vm
W przypadku list wielowartościowych należy wziąć pod uwagę następujące opcje:
- Jeśli potrzebujesz więcej kontroli nad wynikiem, użyj pętli "for".
#!/usr/bin/env bash
for vmList in $(az vm list --resource-group MyResourceGroup --show-details --query "[?powerState=='VM running'].id" -output tsv); do
echo stopping $vmList
az vm stop --ids $vmList
if [ $? -ne 0 ]; then
echo "Failed to stop $vmList"
exit 1
fi
echo $vmList stopped
done
- Alternatywnie, użyj
xargs
i rozważ zastosowanie flagi-P
do równoległego uruchamiania operacji w celu zwiększenia wydajności.
az vm list --resource-group MyResourceGroup --show-details \
--query "[?powerState=='VM stopped'].id" \
--output tsv | xargs -I {} -P 10 az vm start --ids "{}"
- Na koniec Azure CLI ma wbudowaną obsługę równoległego przetwarzania poleceń z wieloma
--ids
, aby osiągnąć taki sam efekt jak xargs.@-
służy do pobierania wartości z potoku:
az vm list --resource-group MyResourceGroup --show-details \
--query "[?powerState=='VM stopped'].id" \
--output tsv | az vm start --ids @-
Aby uzyskać więcej informacji na temat używania konstrukcji Bash z interfejsem wiersza poleceń Azure, w tym pętli, instrukcji case, instrukcji if..then..else i obsługi błędów, zobacz Dowiedz się, jak używać powłoki Bash z interfejsem wiersza polecenia Azure (Learn to use Bash with the Azure CLI).
Typowe parametry aktualizacji
Grupy poleceń interfejsu wiersza polecenia platformy Azure często zawierają polecenie aktualizacji. Na przykład usługa Azure Virtual Machines zawiera polecenie az vm update . Większość poleceń aktualizacji oferuje trzy typowe parametry: --add
, --set
i --remove
.
Parametry --set
i --add
przyjmują listę par klucz-wartość, rozdzielonych spacjami: key1=value1 key2=value2
. Aby zobaczyć, jakie właściwości można zaktualizować, użyj polecenia show, takiego jak az vm show.
az vm show --resource-group VMResources --name virtual-machine-01
Aby uprościć polecenie, rozważ użycie ciągu JSON. Aby na przykład dołączyć nowy dysk danych do maszyny wirtualnej, użyj następującej wartości:
az vm update --resource-group VMResources --name virtual-machine-01 \
--add storageProfile.dataDisks "{\"createOption\": \"Attach\", \"managedDisk\":
{\"id\":
\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yg/providers/Microsoft.Compute/disks/yg-disk\"},
\"lun\": 1}"
Ogólne polecenia zasobów
Usługa, z którą chcesz pracować, może nie obsługiwać interfejsu wiersza polecenia platformy Azure. Aby pracować z tymi zasobami, możesz użyć polecenia az resource lub az rest .
Współbieżne wykonywanie
Jeśli jednocześnie uruchamiasz polecenia interfejsu wiersza polecenia platformy Azure na tym samym komputerze, konflikty zapisu mogą wystąpić, jeśli wiele poleceń interfejsu wiersza polecenia platformy Azure zapisuje w tej samej pamięci podręcznej tokenów biblioteki Microsoft Authentication Library (MSAL).
Aby uniknąć potencjalnych awarii, wyizoluj folder konfiguracji interfejsu wiersza polecenia platformy Azure dla każdego skryptu, ustawiając zmienną środowiskową AZURE_CONFIG_DIR
dla każdego skryptu na oddzielny katalog. Polecenia Azure CLI w tym skrypcie zapisują konfigurację i pamięć podręczną tokenów do skonfigurowanej lokalizacji zamiast domyślnego folderu ~/.azure
.
export AZURE_CONFIG_DIR=/my/config/dir
Operacje asynchroniczne
Operacje na platformie Azure mogą zająć zauważalny czas. Na przykład konfigurowanie maszyny wirtualnej w centrum danych nie jest natychmiastowe. Interfejs wiersza polecenia platformy Azure czeka na zakończenie polecenia, aby zaakceptować inne polecenia. Dlatego wiele poleceń oferuje parametr --no-wait
, jak pokazano poniżej:
az group delete --name MyResourceGroup --no-wait
Usunięcie grupy zasobów spowoduje również usunięcie wszystkich zasobów, które do niej należą. Usunięcie tych zasobów może zająć dużo czasu. Po uruchomieniu polecenia z parametrem --no-wait
konsola akceptuje nowe polecenia bez przerywania usuwania.
Wiele poleceń oferuje opcję oczekiwania, wstrzymując konsolę do momentu spełnienia pewnego warunku. W poniższym przykładzie użyto polecenia az vm wait , aby obsługiwać równoległe tworzenie niezależnych zasobów:
az vm create --resource-group VMResources --name virtual-machine-01 --image centos --no-wait
az vm create --resource-group VMResources --name virtual-machine-02 --image centos --no-wait
subscription=$(az account show --query "id" -o tsv)
vm1_id="/subscriptions/$subscription/resourceGroups/VMResources/providers/Microsoft.Compute/virtualMachines/virtual-machine-01"
vm2_id="/subscriptions/$subscription/resourceGroups/VMResources/providers/Microsoft.Compute/virtualMachines/virtual-machine-02"
az vm wait --created --ids $vm1_id $vm2_id
Po utworzeniu obu identyfikatorów można ponownie użyć konsoli.
Przykłady skryptów
Poniżej znajdują się przykłady używania zmiennych i iteracji przez listę przy pracy z Azure Virtual Machines. Aby uzyskać szczegółowe przykłady dotyczące używania konstrukcji powłoki Bash z Azure CLI, w tym pętli, instrukcji case, if..then..else i obsługi błędów, zobacz Dowiedz się, jak używać powłoki Bash z Azure CLI.
Użyj tych skryptów, aby zapisać identyfikatory w zmiennych:
ECHO OFF
SETLOCAL
FOR /F "tokens=* USEBACKQ" %%F IN (
`az vm list --resource-group VMResources --show-details --query "[?powerState=='VM running'].id" --output tsv`
) DO (
SET "vm_ids=%%F %vm_ids%" :: construct the id list
)
az vm stop --ids %vm_ids% :: CLI stops all VMs in parallel
Użyj tych skryptów, aby przejść przez listę:
ECHO OFF
SETLOCAL
FOR /F "tokens=* USEBACKQ" %%F IN (
`az vm list --resource-group VMResources --show-details --query "[?powerState=='VM running'].id" --output tsv`
) DO (
ECHO Stopping %%F
az vm stop --ids %%F
)