def s3_calculate_bucket_size(self, bucket_name, debug=False):
record = {
"Size" : 0,
"SizeMB" : 0.0,
"SizeGB" : 0.0,
"Files" : 0
}
results = self.build_def_hash("Display Error", "Not Run", record)
try:
import boto, math
import boto.s3
cur_keys = self.aws_get_keys(debug)
conn_s3 = boto.connect_s3(cur_keys["Key"], cur_keys["Secret"])
bucket = conn_s3.get_bucket(bucket_name, validate=False)
total_bytes = 0
for key in bucket:
record["Size"] += int(key.size)
record["Files"] += 1
# end for all keys
record["SizeMB"] = float(self.to_float_str(float(float(record["Size"]) / 1024.0 / 1024.0)))
record["SizeGB"] = float(self.to_float_str(float(float(record["SizeMB"]) / 1024.0)))
results = self.build_def_hash("SUCCESS", "", record)
except Exception,w:
self.lg("Failed to Process S3 Bucket(" + str(bucket_name) + ") Size Ex(" + str(w) + ")", 0)
results = self.build_def_hash("Display Error", "Not Run", record)
return results
# end of s3_calculate_bucket_size
评论列表
文章目录