Delen via


De Azure CLI-aliasextensie gebruiken

Met de aliasextensie kunnen gebruikers aangepaste opdrachten definiëren voor de Azure CLI met behulp van bestaande opdrachten. Met aliassen kunt u uw werkstroom eenvoudig houden door snelkoppelingen toe te staan. De Jinja2-sjabloonengine zorgt voor Azure CLI-aliassen en biedt geavanceerde argumentverwerking.

Opmerking

De aliasextensie bevindt zich in openbare preview. De functies en configuratiebestandsindeling kunnen veranderen.

De aliasextensie installeren

De minimaal vereiste Versie van Azure CLI voor het gebruik van de aliasextensie is 2.0.28. Voer az --version uit om uw CLI-versie te controleren. Als u de installatie wilt bijwerken, volgt u de instructies in Azure CLI installeren.

Installeer de aliasextensie met de opdracht az extension add .

az extension add --name alias

Controleer de installatie van de extensie met az extension list. Als de aliasextensie correct wordt geïnstalleerd, wordt deze weergegeven in de opdrachtuitvoer.

az extension list --output table --query '[].{Name:name}'
Name
------
alias

De aliasextensie up-to-date houden

De aliasextensie wordt actief ontwikkeld en er worden regelmatig nieuwe versies uitgebracht. Nieuwe versies worden echter niet geïnstalleerd wanneer u de CLI bijwerkt. Installeer de updates voor de extensie met az extension update.

az extension update --name alias

Aliassen beheren voor de Azure CLI

Met de aliasextensie kunt u aliassen maken en beheren voor andere CLI-opdrachten. Als u alle beschikbare opdrachten en parameterdetails wilt weergeven, voert u de aliasopdracht uit met --help.

az alias --help

Eenvoudige aliasopdrachten maken

Een gebruik van aliassen is voor het inkorten van bestaande opdrachtgroepen of opdrachtnamen. U kunt bijvoorbeeld de group opdrachtgroep verkorten tot rg en de list opdracht tot ls.

az alias create --name rg --command group
az alias create --name ls --command list

U kunt deze zojuist gedefinieerde aliassen nu overal gebruiken waarop de definities van toepassing zijn.

az rg list
az rg ls
az vm ls

Neem az niet op als onderdeel van de aliasopdracht.

Aliassen kunnen ook snelkoppelingen zijn voor volledige commando's. In het volgende voorbeeld ziet u beschikbare resourcegroepen en hun locaties in tabeluitvoer:

az alias create --name ls-groups --command "group list --query '[].{Name:name, Location:location}' --output table"

U kunt nu ls-groups net als elke andere CLI-opdracht uitvoeren.

az ls-groups

Een aliasopdracht maken met argumenten

U kunt ook positionele argumenten toevoegen aan een aliasopdracht door ze op te slaan zoals {{ arg_name }} in de aliasnaam. De witruimte binnen de accolades is vereist.

az alias create --name "alias_name {{ arg1 }} {{ arg2 }} ..." --command "invoke_including_args"

In de volgende voorbeeldalias ziet u hoe u positionele argumenten gebruikt om het openbare IP-adres van een virtuele machine op te halen.

az alias create \
    --name "get-vm-ip {{ resourceGroup }} {{ vmName }}" \
    --command "vm list-ip-addresses --resource-group {{ resourceGroup }} --name {{ vmName }}
        --query [0].virtualMachine.network.publicIpAddresses[0].ipAddress"

Wanneer u deze opdracht uitvoert, geeft u waarden aan de positionele argumenten.

az get-vm-ip MyResourceGroup MyVM

U kunt ook omgevingsvariabelen gebruiken in aliasopdrachten, die tijdens runtime worden geëvalueerd. In het volgende voorbeeld wordt de create-rg alias toegevoegd, waarmee een resourcegroep wordt gemaakt eastus en een owner tag wordt toegevoegd. Aan deze tag wordt de waarde van de lokale omgevingsvariabele USERtoegewezen.

az alias create \
    --name "create-rg {{ groupName }}" \
    --command "group create --name {{ groupName }} --location eastus --tags owner=\$USER"

Als u omgevingsvariabelen in de aliasopdracht wilt registreren, moet u het dollarteken ($) ontsnappen.

Procesargumenten met Behulp van Jinja2-sjablonen

Jinja2 voert de vervanging van het argument uit in de aliasextensie. Jinja2-sjablonen maken het mogelijk om de argumenten te bewerken.

Met Jinja2-sjablonen kunt u aliassen schrijven die verschillende typen argumenten gebruiken dan de onderliggende opdracht. U kunt bijvoorbeeld een alias maken die een opslag-URL gebruikt. Vervolgens wordt deze URL geparseerd om de account- en containernamen door te geven aan de opslagopdracht.

az alias create \
    --name 'storage-ls {{ url }}' \
    --command "storage blob list
        --account-name {{ url.replace('https://', '').split('.')[0] }}
        --container-name {{ url.replace('https://', '').split('/')[1] }}"

Zie de Jinja2-documentatie voor meer informatie over de Jinja2-sjabloonengine.

Aliasconfiguratiebestand

Een andere manier om aliassen te maken en te wijzigen, is het wijzigen van het aliasconfiguratiebestand. Aliasopdrachtdefinities worden geschreven in een configuratiebestand, dat zich op $AZURE_CONFIG_DIR/alias. De standaardwaarde AZURE_CONFIG_DIR is $HOME/.azure in macOS en Linux en %USERPROFILE%\.azure in Windows. Het aliasconfiguratiebestand wordt geschreven in de INI-configuratiebestandsindeling. De indeling voor aliasopdrachten is:

[alias_name]
command = invoked_commands

Voor aliassen met positionele argumenten is de indeling voor aliasopdrachten:

[alias_name {{ arg1 }} {{ arg2 }} ...]
command = invoked_commands_including_args

Een aliasopdracht met argumenten maken via het aliasconfiguratiebestand

In het volgende voorbeeld ziet u een alias voor een opdracht met argumenten. Met deze opdracht wordt het openbare IP-adres voor een virtuele machine opgehaald. Opdrachten met aliassen moeten allemaal op één regel staan en alle argumenten in de aliasnaam gebruiken.

[get-vm-ip {{ resourceGroup }} {{ vmName }}]
command = vm list-ip-addresses --resource-group {{ resourceGroup }} --name {{ vmName }} --query [0].virtualMachine.network.publicIpAddresses[0].ipAddress

De aliasextensie verwijderen

Als u de extensie wilt verwijderen, gebruikt u de opdracht az extension remove .

az extension remove --name alias

Als u de installatie hebt verwijderd vanwege een fout of een ander probleem met de extensie, kunt u een GitHub-probleem indienen , zodat we een oplossing kunnen bieden.