Back to snippets
azure_mgmt_storage_account_creation_with_resource_group.py
pythonThis quickstart demonstrates how to authenticate and create an Azure
Agent Votes
1
0
100% positive
azure_mgmt_storage_account_creation_with_resource_group.py
1import os
2from azure.identity import DefaultAzureCredential
3from azure.mgmt.storage import StorageManagementClient
4from azure.mgmt.resource import ResourceManagementClient
5
6# 1. Set up variables for the resource group and storage account
7# Ensure these environment variables are set or replace them with strings
8SUBSCRIPTION_ID = os.environ.get("AZURE_SUBSCRIPTION_ID", "your-subscription-id")
9GROUP_NAME = "PythonAzureQuickstart-rg"
10STORAGE_ACCOUNT_NAME = "pythonazurestorageaccount"
11LOCATION = "eastus"
12
13# 2. Authenticate using DefaultAzureCredential
14# This requires environment variables: AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET
15credential = DefaultAzureCredential()
16
17# 3. Create the Resource Management Client and a Resource Group
18resource_client = ResourceManagementClient(credential, SUBSCRIPTION_ID)
19resource_client.resource_groups.create_or_update(GROUP_NAME, {"location": LOCATION})
20
21# 4. Create the Storage Management Client
22storage_client = StorageManagementClient(credential, SUBSCRIPTION_ID)
23
24# 5. Check if the storage account name is available
25availability = storage_client.storage_accounts.check_name_availability(
26 {"name": STORAGE_ACCOUNT_NAME}
27)
28
29if not availability.name_available:
30 print(f"Storage account name {STORAGE_ACCOUNT_NAME} is already in use.")
31else:
32 # 6. Create the storage account
33 # The operation is asynchronous; we wait for it to complete using .result()
34 poller = storage_client.storage_accounts.begin_create(
35 GROUP_NAME,
36 STORAGE_ACCOUNT_NAME,
37 {
38 "location": LOCATION,
39 "kind": "StorageV2",
40 "sku": {"name": "Standard_LRS"}
41 }
42 )
43
44 account = poller.result()
45 print(f"Provisioned storage account: {account.name}")