in experiments/notebooks/cloudstory-api/cloudstory.py [0:0]
def list_bucket_contents(bucket, match='', size_mb=0):
bucket_resource = s3_resource.Bucket(bucket)
total_size_gb = 0
total_files = 0
match_size_gb = 0
match_files = 0
for key in bucket_resource.objects.all():
key_size_mb = key.size/1024/1024
total_size_gb += key_size_mb
total_files += 1
list_check = False
if not match:
list_check = True
elif match in key.key:
list_check = True
if list_check and not size_mb:
match_files += 1
match_size_gb += key_size_mb
print(f'{key.key} ({key_size_mb:3.0f}MB)')
elif list_check and key_size_mb <= size_mb:
match_files += 1
match_size_gb += key_size_mb
print(f'{key.key} ({key_size_mb:3.0f}MB)')
if match:
print(f'Matched file size is {match_size_gb/1024:3.1f}GB with {match_files} files')
print(f'Bucket {bucket} total size is {total_size_gb/1024:3.1f}GB with {total_files} files')