in azure-metrics-calc-storage-size/metrics-data.py [0:0]
def get_metric_data_capacity(resource_group_name, storage_account_name, subscription_id, type):
client = MonitorManagementClient(credentials, subscription_id)
today = datetime.datetime.utcnow().date()
yesterday = today - datetime.timedelta(days=1)
resource_id = (
"subscriptions/{}/"
"resourceGroups/{}/"
"providers/Microsoft.Storage/storageAccounts/{}/{}")
metrics_data = None
if (type == Metric_type.blob_capacity):
resource_id = resource_id.format(subscription_id,
resource_group_name, storage_account_name, 'blobServices/default')
metrics_data = client.metrics.list(
resource_id,
timespan="{}/{}".format(yesterday, today),
interval='PT1H',
metric='Blob capacity',
aggregation='Average')
if (type == Metric_type.fileshare_capacity):
resource_id = resource_id.format(subscription_id,
resource_group_name, storage_account_name, 'fileServices/default')
metrics_data = client.metrics.list(
resource_id,
timespan="{}/{}".format(yesterday, today),
interval='PT1H',
metric='File capacity',
aggregation='Average')
if(metrics_data.value is None):
return METRICS_NOT_AVAILABLE
for item in metrics_data.value:
for item in item.timeseries:
if(len(item.data) > 0):
data = item.data[-1]
if(data.average is not None):
return data.average
else:
return METRICS_NOT_AVAILABLE
return METRICS_NOT_AVAILABLE