Azure Command-Line Interface
Перейти к файлу
Houk 373edd5339
{Error Handling} Developer guidelines to onboad the new error output (#15774)
* add developer doc to onboard the new error output

* fix typos

* fix typos

* refine the doc format

* fix typos

* Fix typos

Co-authored-by: Feiyue Yu <iamyfy@163.com>
Co-authored-by: Bin Ma <bim@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Jiashuo Li <jiasli@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Jiashuo Li <jiasli@microsoft.com>

* update new error types

* add contact for adding new error type

* fix typos

Co-authored-by: Feiyue Yu <iamyfy@163.com>
Co-authored-by: Bin Ma <bim@microsoft.com>
Co-authored-by: Jiashuo Li <jiasli@microsoft.com>
2020-11-10 14:25:09 +08:00
.azure-pipelines/templates {CI} Example of bypassing show-command linter rule (#14903) 2020-08-25 17:12:24 +08:00
.github {Misc} Update Network and Monitor codeowner (#15771) 2020-11-03 14:25:47 +08:00
.vscode {Docs} Documentation update for debugging this repository using VS Code (#14559) 2020-10-14 14:04:05 +08:00
bin Flake8 (#7695) 2018-10-29 11:29:26 -07:00
build_scripts {Packaging} fix removal of networking package 2018-08-01 (#15451) 2020-10-09 14:59:32 +08:00
doc {Error Handling} Developer guidelines to onboad the new error output (#15774) 2020-11-10 14:25:09 +08:00
scripts rename gpg key (#15809) 2020-11-09 11:14:00 +08:00
src [Billing] Add new command groups to manage Agreement, RoleAssignment, RoleDefinition and Instructions (#15697) 2020-11-10 12:34:48 +08:00
tools {Package} Migrate CLI packaging system to PEP420 (#14372) 2020-08-19 17:02:46 +08:00
.coveragerc Update test scripts and mechanisms 2017-07-05 14:34:22 -07:00
.dockerignore Do not copy tests dirs in docker image (#12208) 2020-02-21 09:48:05 +08:00
.flake8 {Telemetry} Add command init and invoke time in telemetry (#14273) 2020-07-27 15:50:41 +08:00
.gitattributes {Packaging/MSI} Use embeddable python for MSI (#14300) 2020-07-30 19:02:32 +08:00
.gitignore move propagate_env_change.exe to storage account (#12401) 2020-03-04 10:04:48 +08:00
.snapcraft.yaml {Package} Migrate CLI packaging system to PEP420 (#14372) 2020-08-19 17:02:46 +08:00
CONTRIBUTING.rst Add LICENSES and update README (#537) 2016-07-21 11:26:41 -07:00
Dockerfile Revert "[RDBMS] Add flexible-server connect command (#15419)" (#15640) 2020-10-23 17:22:00 +08:00
Dockerfile.nanoserver {Package} Migrate CLI packaging system to PEP420 (#14372) 2020-08-19 17:02:46 +08:00
Dockerfile.spot {Package} Migrate CLI packaging system to PEP420 (#14372) 2020-08-19 17:02:46 +08:00
LICENSE refactor LICENSE.txt to make github even more happier (#8826) 2019-03-20 14:43:51 -07:00
MANIFEST.in Create all component packages 2016-03-25 14:58:49 -07:00
NOTICE.txt {Misc} Update NOTICE.txt (#14807) 2020-08-18 16:10:38 +08:00
README.md rename local docker image tag (#15463) 2020-10-13 16:06:18 +08:00
az.completion [Core] Support filename and environment variable completion (#11817) 2020-01-15 10:52:57 +08:00
azure-cli.pyproj [Service Fabric] Add managed cluster and node type commands (#15101) 2020-09-14 09:45:07 +08:00
azure-cli.sln [KeyVault] KeyVault Round 3 Commands (#1215) 2016-11-04 09:56:37 -07:00
azure-cli2017.pyproj [Service Fabric] Add managed cluster and node type commands (#15101) 2020-09-14 09:45:07 +08:00
azure-cli2017.sln Create VS2017 version of proj file. (#2450) 2017-03-09 13:00:52 -08:00
azure-pipelines-full-tests.yml {CI} Add explicitly timeout limit in Automation Full Test pipeline (#12827) 2020-04-02 10:48:04 +08:00
azure-pipelines.yml reduce deb package tests (#15833) 2020-11-09 17:03:04 +08:00
linter_exclusions.yml [Config] Rename local-context to config param-persist (#15068) 2020-09-14 11:29:08 +08:00
nose.cfg Fix #2513: Update logging effect in automation (#3437) 2017-05-24 09:00:14 -07:00
pylintrc {CI} Example of bypassing show-command linter rule (#14903) 2020-08-25 17:12:24 +08:00
requirements.txt {Packaging} Remove wheel as a runtime dependency (#13230) 2020-04-29 20:08:12 +08:00

README.md

Microsoft Azure CLI

Python Build Status Slack

A great cloud needs great tools; we're excited to introduce Azure CLI, our next generation multi-platform command line experience for Azure.

Take a test run now from Azure Cloud Shell!

Installation

Please refer to the install guide for detailed install instructions.

A list of common install issues and their resolutions are available at install troubleshooting.

Developer installation (see below)

Usage

$ az [ group ] [ subgroup ] [ command ] {parameters}

Get Started

Please refer to the "get started" guide for in-depth instructions.

For usage and help content, pass in the -h parameter, for example:

$ az storage -h
$ az vm create -h

Highlights

Here are a few features and concepts that can help you get the most out of the Azure CLI.

Azure CLI Highlight Reel

The following examples are showing using the --output table format, you can change your default using the az configure command.

Tab completion

We support tab-completion for groups, commands, and some parameters

# looking up resource group and name
$ az vm show -g [tab][tab]
AccountingGroup   RGOne  WebPropertiesRG

$ az vm show -g WebPropertiesRG -n [tab][tab]
StoreVM  Bizlogic

$ az vm show -g WebPropertiesRG -n Bizlogic

Query

You can use the --query parameter and the JMESPath query syntax to customize your output.

$ az vm list --query "[?provisioningState=='Succeeded'].{ name: name, os: storageProfile.osDisk.osType }"
Name                    Os
----------------------  -------
storevm                 Linux
bizlogic                Linux
demo32111vm             Windows
dcos-master-39DB807E-0  Linux

Exit codes

For scripting purposes, we output certain exit codes for differing scenarios.

Exit Code Scenario
0 Command ran successfully.
1 Generic error; server returned bad status code, CLI validation failed, etc.
2 Parser error; check input to command line.
3 Missing ARM resource; used for existence check from show commands.

Common scenarios and use Azure CLI effectively

Please check Tips for using Azure CLI effectively. It describes some common scenarios:

More samples and snippets

For more usage examples, take a look at our GitHub samples repo or https://docs.microsoft.com/cli/azure/overview.

Reporting issues and feedback

If you encounter any bugs with the tool please file an issue in the Issues section of our GitHub repo.

To provide feedback from the command line, try the az feedback command.

Developer installation

Docker

We maintain a Docker image preconfigured with the Azure CLI. See our Docker tags for available versions.

$ docker run -u $(id -u):$(id -g) -v ${HOME}:/home/az -e HOME=/home/az --rm -it mcr.microsoft.com/azure-cli:<version>

Edge builds

If you want to get the latest build from the dev branch, you can use our "edge" builds.

You can download the latest builds by following the links below:

Package Link
MSI https://aka.ms/InstallAzureCliWindowsEdge
Homebrew Formula https://aka.ms/InstallAzureCliHomebrewEdge
Ubuntu Xenial Deb https://aka.ms/InstallAzureCliXenialEdge
Ubuntu Bionic Deb https://aka.ms/InstallAzureCliBionicEdge
RPM https://aka.ms/InstallAzureCliRpmEdge

You can easily install the latest Homebrew edge build with the following command:

brew install $(curl -Ls -o /dev/null -w %{url_effective} https://aka.ms/InstallAzureCliHomebrewEdge)

You can install the edge build on Ubuntu Xenial with the following command:

curl -Ls -o azure-cli_xenial_all.deb https://aka.ms/InstallAzureCliXenialEdge && dpkg -i azure-cli_xenial_all.deb

And install the edge build with rpm package on CentOS/RHEL/Fedora:

rpm -ivh --nodeps $(curl -Ls -o /dev/null -w %{url_effective} https://aka.ms/InstallAzureCliRpmEdge)

Here's an example of installing edge builds with pip3 in a virtual environment. The --upgrade-strategy=eager option will install the edge builds of dependencies as well.

$ python3 -m venv env
$ . env/bin/activate
$ pip3 install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge --upgrade-strategy=eager

To upgrade your current edge build pass the --upgrade option. The --no-cache-dir option is also recommended since the feed is frequently updated.

$ pip3 install --upgrade --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge --no-cache-dir --upgrade-strategy=eager

The edge build is generated for each PR merged to the dev branch as a part of the Azure DevOps Pipelines.

Get builds of arbitrary commit or PR

If you would like to get builds of arbitrary commit or PR, see:

Try new features before release

Developer setup

If you would like to setup a development environment and contribute to the CLI, see:

Configuring Your Machine

Authoring Command Modules

Contribute code

This project has adopted the Microsoft Open Source Code of Conduct.

For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.