Warum Azure CLI, ich kann doch auch die Poweshell benutzen?
Für mich ist ein wichtiger Grund die Verfügbarkeit auf Betriebssystemen die ohne weiteres keine Powershell anbieten. Zum Beispiel MacOS und Linux. Speziell Continous Integration System für NodeJS oder Web Anwendungen laufen häufig auf günstigen Linux Slaves.
Das Azure CLI ist eine einfache Möglichkeit auch von diesen Linux Systemen ein Deployment oder eine Rekonfiguration der Azure Systeme vorzunehmen.
Das Command Line Interface kann auf verschiedene Arten installiert werden. Ich bevorzuge die Installation via NPM für automatisierte Systeme oder die Nutzung eines vorbereiteten Docker - Containers.
Der folgende Befehl lädt das Image herunter, startet einen Container namens "azure" und verbindet sich zu dessen Shell.
docker run -it --name azure microsoft/azure-cli
Schon kann es mit dem Befehl "azure login" losgehen.
Um den einmal heruntergeladenen Container nach dem schließen der Befehlszeile wieder zu verwenden genügt ein "docker start -i azure".
Das war dann auch schon der schwierigste Teil.
Das Azure CLI unterstützt zwei verschiedene Betriebsmodi. Den Ressourcemanager basierten und den Servicemanager basierten.
Falls Sie ein Azure Deployment Script habe bei dem die Befehlszeile
"azure sites list" eine Fehlermeldung wie "
error: 'site' is not an azure command. See 'azure help'.", ausgibt, dann sind sie im falschen, im Ressourcemanager - Modus. Der Ressoucemanagermodus ist im Standard aktiv.
Der Ressourcemanagermodus unterstützt folgende Befehle:
help: Commands:
help: account Commands to manage your account information and publish settings
help: acs Commands to manage your container service.
help: ad Commands to display Active Directory objects
help: appserviceplan Commands to manage your Azure appserviceplans
help: availset Commands to manage your availability sets.
help: batch Commands to manage your Batch objects
help: cdn Commands to manage Azure Content Delivery Network (CDN)
help: config Commands to manage your local settings
help: datalake Commands to manage your Data Lake objects
help: feature Commands to manage your features
help: group Commands to manage your resource groups
help: hdinsight Commands to manage HDInsight clusters and jobs
help: insights Commands related to monitoring Insights (events, alert rules, autoscale settings, metrics)
help: iothub Commands to manage your Azure IoT hubs
help: keyvault Commands to manage key vault instances in the Azure Key Vault service
help: lab Commands to manage your DevTest Labs
help: location Commands to get the available locations
help: network Commands to manage network resources
help: policy Commands to manage your policies on ARM Resources.
help: powerbi Commands to manage your Azure Power BI Embedded Workspace Collections
help: provider Commands to manage resource provider registrations
help: quotas Command to view your aggregated Azure quotas
help: rediscache Commands to manage your Azure Redis Cache(s)
help: resource Commands to manage your resources
help: role Commands to manage role definitions
help: servermanagement Commands to manage Azure Server Managment resources
help: servicefabric Commands to manage your Azure Service Fabric
help: storage Commands to manage your Storage objects
help: tag Commands to manage your resource manager tags
help: usage Command to view your aggregated Azure usage data
help: vm Commands to manage your virtual machines
help: vmss Commands to manage your virtual machine scale sets.
help: vmssvm Commands to manage your virtual machine scale set vm.
help: webapp Commands to manage your Azure webapps
Umschalten zum Servicemanagermodus kann man via: "
azure config mode asm".
Zurück gehts mit "
azure config mode arm"
Im Servicemanager Mode gibt es dann folgende Befehle:
help: mobile Commands to manage your Mobile Services
help: network Commands to manage your networks
help: sb Commands to manage your Service Bus configuration
help: service Commands to manage your Cloud Services
help: servicefabric Commands to manage your Azure Service Fabric
help: site Commands to manage your Web Sites
help: sql Commands to manage your SQL Server accounts
help: storage Commands to invoke service management operations.
help: vm Commands to manage your Virtual Machines
Für alle Services und Deployments die Ihr neu aufsetzt würde ich den ARM empfehlen. Der Ressourcemanager bietet viele Vorteile gegenüber dem Servicemanager.
Mehr Informationen zu den unterstützten CLI Befehlen findet Ihr hier: