Storage Resource Management¶
For general information on resource management, see Resource Management.
Create the management client¶
The following code creates an instance of the management client.
You will need to provide your subscription_id
which can be retrieved
from your subscription list.
See Resource Management Authentication
for details on getting a Credentials
instance.
from azure.mgmt.storage import StorageManagementClient
# TODO: Replace this with your subscription id
subscription_id = '33333333-3333-3333-3333-333333333333'
# TODO: See above how to get a Credentials instance
credentials = ...
storage_client = StorageManagementClient(
credentials,
subscription_id
)
Registration¶
Some operations in the storage ARM APIs require a one-time registration of the storage provider with your subscription.
Use the following code to do the registration. You can use the same credentials you created in the previous section.
from azure.mgmt.resource.resources import ResourceManagementClient
resource_client = ResourceManagementClient(
credentials,
subscription_id
)
resource_client.providers.register('Microsoft.Storage')
Create storage account¶
The following code creates a new storage account under an existing resource group. To create or manage resource groups, see Resource Management.
from azure.mgmt.storage.models import StorageAccountCreateParameters, Sku, SkuName, Kind
group_name = 'myresourcegroup'
account_name = 'mystorageaccountname'
result = storage_client.storage_accounts.create(
group_name,
account_name,
StorageAccountCreateParameters(
sku=Sku(SkuName.standard_lrs),
kind=Kind.storage,
location='westus'
)
)
# result is a msrestazure.azure_operation.AzureOperationPoller instance
# wait insure polling the underlying async operation until it's done.
result.wait()
List storage accounts¶
group_name = 'myresourcegroup'
storage_accounts = storage_client.storage_accounts.list_by_resource_group(group_name)
for storage_account in storage_accounts:
print(storage_account.name)
print(storage_account.location)
print(storage_account.provisioning_state)
print('')
Get storage account keys¶
group_name = 'myresourcegroup'
account_name = 'mystorageaccountname'
storage_keys = storage_client.storage_accounts.list_keys(group_name, account_name)
storage_keys = {v.key_name: v.value for v in storage_keys.keys}
print(storage_keys['key1'])
print(storage_keys['key2'])