python3 获取阿里云OSS 最新存
短信预约 -IT技能 免费直播动态提醒
模块
aliyun-python-sdk-core-v3==2.9.1
aliyun-python-sdk-cms
oss2
脚本
import oss2
from aliyunsdkcore import client
from aliyunsdkcms.request.v20180308 import QueryMetricListRequest
import datetime
import time
import json
def BusinessOssTask():
auth = oss2.Auth('key', 'secret')
service = oss2.Service(auth, 'http://oss-区域.aliyuncs.com')
name_list = [b.name for b in oss2.BucketIterator(service)]
now = datetime.datetime.now()
oss_size = []
for name in name_list:
clt = client.AcsClient('key', 'secret', 'region')
request = QueryMetricListRequest.QueryMetricListRequest()
request.set_accept_format('json') # 获取的是json格式
request.set_Project('acs_oss')
request.set_Metric('MeteringStorageUtilization') # 这个获得的值单位是字节
start_time = (now - datetime.timedelta(hours=4)).strftime("%Y-%m-%d %H:%S:%M")
end_time = (now - datetime.timedelta(hours=3)).strftime("%Y-%m-%d %H:%S:%M")
print(start_time, end_time)
timestamp_start = int(time.mktime(time.strptime(start_time, "%Y-%m-%d %H:%M:%S"))) * 1000
timestamp_end = int(time.mktime(time.strptime(end_time, "%Y-%m-%d %H:%M:%S"))) * 1000
request.set_StartTime(timestamp_start)
request.set_EndTime(timestamp_end)
request.set_Dimensions({'BucketName': name}) # 这里就是填写bucket名字的地方
request.set_Period('3600') # 计量类指标的Metric如下,注意聚合粒度为3600s。
result = clt.do_action_with_exception(request)
res = json.loads(result)
res_list = res['Datapoints'][1:-1].split(":")
oss_size.append(float(res_list[-1][:-1]))
print(round(sum(oss_size) / 1024 / 1024 / 1024 / 1024, 2),'Tb')
参考:
https://blog.51cto.com/chenx1242/1968378
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341