Я пытаюсь перечислить корзины s3 с их размером в CSV.
- Размер имени корзины
- Корзина A 2 ГБ
- Корзина B 10 ГБ
В поисках чего-то подобного ...
Я могу перечислить ведра с кодом ниже.
def main():
with open('size.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([
'Bucket Name',
'Bucket Size'
])
with open('accountroles.json') as ec2_file:
ec2_data = json.load(ec2_file)
region_list = ['us-west-1']
for region in region_list:
for index in range(len(ec2_data['Items'])):
Account_Number = ec2_data['Items'][index]['Aws_Account_Number']
Account_Name = ec2_data['Items'][index]['Acc_Name']
ARN = ec2_data['Items'][index]['ARN']
b = get_assume_arn_to_keys(Account_Number,Account_Name,ARN)
#ds_client = boto3.client('s3',region_name=region,aws_access_key_id=``,aws_secret_access_key=``,aws_session_token=``)
ds_client = boto3.client('s3',region_name=region,aws_access_key_id=b[1],aws_secret_access_key=b[2],aws_session_token=b[3])
#s3_client = boto3.client('s3')
bucket_list = ds_client.list_buckets()
for bucket in bucket_list['Buckets']:
************
??????????
writer.writerow([
Account_Name,
#region,
bucket['Name'],
Bucketsize
])
main()
Я могу перечислить ведро. Пожалуйста, помогите мне, как приступить к получению размеров. Я упомянул несколько и, кажется, размер можно получить с помощью метрик CW. Есть ли способ.
Помогите мне по сценарию.
Редактировать / обновить:
bucket_list = ds_client.list_buckets()
for bucket in bucket_list['Buckets']:
try:
lifecycle = ds_client.get_bucket_lifecycle(Bucket=bucket['Name'])
rules = lifecycle['Rules']
except:
rules = 'No Policy'
try:
encryption = ds_client.get_bucket_encryption(Bucket=bucket['Name'])
Encryptiontype = encryption['ServerSideEncryptionConfiguration']['Rules']
except:
Encryptiontype = 'Not Encrypted'
print(bucket['Name'], rules, Encryptiontype)
Спасибо