Azure Subscription Management Client Library for Python

3.1.1 · active · verified Fri Apr 10

The `azure-mgmt-subscription` library provides Python APIs for managing Azure subscriptions. It allows developers to programmatically interact with Azure to get subscription details, list available locations, manage subscription aliases, and perform other subscription-related operations. The current stable version is 3.1.1. The Azure SDK for Python generally follows an active release cadence for its management libraries, with updates addressing bug fixes, new features, and breaking changes across major versions.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to authenticate with Azure using `DefaultAzureCredential` and then use `SubscriptionClient` to list all accessible subscriptions, retrieve details for a specific subscription, and list available locations within that subscription.

import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.subscription import SubscriptionClient

# Ensure AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET are set as environment variables
# for DefaultAzureCredential to work in non-interactive environments.
# For local development, Azure CLI or VS Code authentication might be used, removing the need for explicit env vars.

subscription_id = os.environ.get('AZURE_SUBSCRIPTION_ID', 'YOUR_SUBSCRIPTION_ID')

if not subscription_id or subscription_id == 'YOUR_SUBSCRIPTION_ID':
    raise ValueError("Please set the AZURE_SUBSCRIPTION_ID environment variable or replace 'YOUR_SUBSCRIPTION_ID'.")

try:
    # Authenticate using DefaultAzureCredential
    credential = DefaultAzureCredential()

    # Create a SubscriptionClient
    subscription_client = SubscriptionClient(credential)

    # List all subscriptions accessible by the credential
    print("Listing all subscriptions...")
    for subscription in subscription_client.subscriptions.list():
        print(f"Subscription ID: {subscription.subscription_id}, Display Name: {subscription.display_name}, State: {subscription.state}")

    # Get details for a specific subscription
    print(f"\nGetting details for subscription ID: {subscription_id}")
    specific_subscription = subscription_client.subscriptions.get(subscription_id)
    print(f"Display Name: {specific_subscription.display_name}, State: {specific_subscription.state}")

    # List locations for the specific subscription
    print(f"\nListing locations for subscription ID: {subscription_id}")
    for location in subscription_client.subscriptions.list_locations(subscription_id):
        print(f"Location: {location.display_name} ({location.name})")

except Exception as e:
    print(f"An error occurred: {e}")
    print("Ensure you are logged into Azure (e.g., via `az login`) or environment variables are set correctly.")

view raw JSON →