AzureCLI Prerequisites #
Installation (Deb) #
# Install AzureCLI via script
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Login #
# Login
az login --use-device-code
# Shell output:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code CWZNML6AQ to authenticate.
Subscriptions #
List Subscriptions #
# List available subscriptions
az account list --output table
# Shell output:
Name CloudName SubscriptionId TenantId State IsDefault
-------------------- ----------- ------------------------------------ ------------------------------------ ------- -----------
Azure subscription 1 AzureCloud 0176a19a-b0d5-4eea-91ff-58a2a48a5b77 30d87815-66f1-4913-aaf0-59e831a67a00 Enabled False
jkw-sub-1 AzureCloud a2cd7180-09c5-44a1-8b6a-36d312f0cd40 30d87815-66f1-4913-aaf0-59e831a67a00 Enabled True
Select Subscription #
# Select subscription
az account set --subscription "jkw-sub-1"
List Current Subscription #
# List current subscription
az account show --output table
# Shell output:
EnvironmentName HomeTenantId IsDefault Name State TenantDefaultDomain TenantDisplayName TenantId
----------------- ------------------------------------ ----------- --------- ------- ---------------------------- ------------------- ------------------------------------
AzureCloud 30d87815-66f1-4913-aaf0-59e831a67a00 True jkw-sub-1 Enabled juergenjklug.onmicrosoft.com Default Directory 30d87815-66f1-4913-aaf0-59e831a67a00
Azure Resources #
List Resource Groups #
# List resource groups
az group list --output table
# Shell output:
Name Location Status
--------------- ---------- ---------
rg-jkw-prod-001 westeurope Succeeded
List Resources in Resource Group #
# List resources
az resource list --resource-group rg-jkw-prod-001 --output table
# Shell output:
Name ResourceGroup Location Type Status
---------- --------------- ---------- --------------------------------- --------
jkwprodsa1 rg-jkw-prod-001 westeurope Microsoft.Storage/storageAccounts
Azure Blob Storage Containers #
List Storage Containers #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
# List Azure Blob Storage Containers
az storage container list \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--output table
# Shell output:
Name Lease Status Last Modified
------------ -------------- -------------------------
backups-prod 2025-06-19T11:32:52+00:00
Upload File #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
export CONTAINER_NAME=backups-prod
# Upload a file
az storage blob upload \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--container-name $CONTAINER_NAME \
--name test.txt \
--file testfile.txt
-
--file testfile.txt
Local file name -
--name test.txt
Blob object name
Upload Folder #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
export CONTAINER_NAME=backups-prod
# Upload folder with it's content
az storage blob upload-batch \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--destination $CONTAINER_NAME \
--destination-path example-folder \
--source ./example-folder
List Files #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
export CONTAINER_NAME=backups-prod
# List objects
az storage blob list \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--container-name $CONTAINER_NAME \
--output table
# Shell output:
Name Blob Type Blob Tier Length Content Type Last Modified Snapshot
-------------------- ----------- ----------- -------- ------------------------ ------------------------- ----------
example-folder/file1 BlockBlob Hot application/octet-stream 2025-06-19T12:18:53+00:00
example-folder/file2 BlockBlob Hot application/octet-stream 2025-06-19T12:18:53+00:00
example-folder/file3 BlockBlob Hot application/octet-stream 2025-06-19T12:18:53+00:00
test.txt BlockBlob Hot 10 text/plain 2025-06-19T12:19:06+00:00
Delete File #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
export CONTAINER_NAME=backups-prod
# Delete file
az storage blob delete \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--container-name $CONTAINER_NAME \
--name test.txt
Delete Files in Folder #
# Export variables
export ACCOUNT_NAME=jkwprodsa1
export ACCOUNT_KEY=dudM2-mysecureaccesskeyVKllw==
export CONTAINER_NAME=backups-prod
# Delete files in folder
az storage blob delete-batch \
--account-name $ACCOUNT_NAME \
--account-key $ACCOUNT_KEY \
--source $CONTAINER_NAME \
--pattern "example-folder/*"