Я работаю над сценарием Python 3, предназначенным для получения статистики использования пространства S3 из AWS CloudFront с использованием библиотеки Boto3.
Я начал с интерфейса командной строки AWS и обнаружил, что могу получить то, что мне нужно, с помощьюкоманда, подобная этой:
aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --namespace AWS/S3 --start-time 2017-03-06T00:00:00Z --end-time 2017-03-07T00:00:00Z --statistics Average --unit Bytes --r
from datetime import datetime, timedelta
import boto3
seconds_in_one_day = 86400 # used for granularity
cloudwatch = boto3.client('cloudwatch')
response = cloudwatch.get_metric_statistics(
Namespace='AWS/S3',
Dimensions=[
{
'Name': 'BucketName',
'Value': 'foo-bar'
},
{
'Name': 'StorageType',
'Value': 'StandardStorage'
}
],
MetricName='BucketSizeBytes',
StartTime=datetime.now() - timedelta(days=7),
EndTime=datetime.now(),
Period=seconds_in_one_day,
Statistics=[
'Average'
],
Unit='Bytes'
)
print(response)
Если я выполняю приведенный выше код, он возвращает вывод json, но я хочу определить функцию из cloudwatch для всего кода подопечного ... и сделать ее параметризованной, но проблема заключается в том, когда яопределить функцию
Возвращает.Код ошибки, говорящий, что переменная ответа не определена ...
Просьба предложить, как использовать это в функции