​获取阿里云同一账号下多个bucket容量的脚本

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

执行脚本前的准备工作请移步:http://chenx1242.blog.51cto.com/10430133/1968378 这篇文章里看,下面就是完整的脚本内容。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#这个脚本需要python 2.7+版本
 
from  aliyunsdkcore  import  client
from  aliyunsdkcms.request.v20170301  import  QueryMetricListRequest
import  time,re,os,datetime
 
oss_list = [ 'lechangecloud' , 'lechangecloud-public' , 'lechangehls' , 'online-sz-private' , 'online-sz-public' , 'lechangecloud-public2' ]         #这里就是云存储bucket的列表
 
def  gettodayoss(oss):
         global  today_lechangecloud_GB
         clt  =  client.AcsClient( '这里填写ak' , '这里填写sk' , '这里填写对应的区域' )
         request  =  QueryMetricListRequest.QueryMetricListRequest()
         request.set_accept_format( 'json' )
         request.set_Project( 'acs_oss' )
         request.set_Metric( 'MeteringStorageUtilization' )
         today_time  =  time.strftime( '%Y-%m-%d' + " 04:00:00"
         timestamp_today  =  int (time.mktime(time.strptime(today_time,  "%Y-%m-%d %H:%M:%S" )))  *  1000
         request.set_StartTime(timestamp_today)
         request.set_Dimensions( "{\'BucketName\':" +  oss  + "}" )
         request.set_Period( '3600' )
         result  =  clt.do_action_with_exception(request)
         #print result
         storage  =  int (re.split( '"|}|:' ,result)[ 34 ])
         today_lechangecloud_GB  =  ( '%.2f'  % (storage / float ( 1073741824 )))
         print  oss + "在" + today_time + "的容量大小是:" + today_lechangecloud_GB + "GB。"
 
def  getyesterdayoss(oss):
         global  yes_lechangecloud_GB
         clt  =  client.AcsClient( '这里填写ak' , '这里填写sk' , '这里填写对应的区域' )
         request  =  QueryMetricListRequest.QueryMetricListRequest()
         request.set_accept_format( 'json' )
         request.set_Project( 'acs_oss' )
         request.set_Metric( 'MeteringStorageUtilization' )
         now_time  =  datetime.datetime.now()
         yes_time =  now_time  +  datetime.timedelta(days = - 1 )
         yes_time_start  =  yes_time.strftime( '%Y-%m-%d' ) + " 04:00:00"
         #yes_time_end = yes_time.strftime('%Y-%m-%d')+" 10:00:00"
         timestamp_yesterday_start  =  int (time.mktime(time.strptime(yes_time_start,  "%Y-%m-%d %H:%M:%S" )))  *  1000
         #timestamp_yesterday_end = int(time.mktime(time.strptime(yes_time_end, "%Y-%m-%d %H:%M:%S"))) * 1000
         request.set_StartTime(timestamp_yesterday_start)
         #request.set_EndTime(timestamp_yesterday_end)
         request.set_Dimensions( "{\'BucketName\':" +  oss  + "}" )
         request.set_Period( '3600' )
         yes_result  =  clt.do_action_with_exception(request)
         #print yes_result
         yes_storage  =  int (re.split( '"|}|:' ,yes_result)[ 34 ])
         yes_lechangecloud_GB  =  ( '%.2f'  % (yes_storage / float ( 1073741824 )))
         print  oss + "在" + yes_time_start + "的容量大小是:" + yes_lechangecloud_GB + "GB。"
 
def  getdiff(oss):
         diff  =  float (today_lechangecloud_GB)  -  float (yes_lechangecloud_GB)
         print  "今天与昨天同一时间的云存储差值是" + str (diff) + "GB。"
 
if  __name__  = =  "__main__" :
         for  oss  in  oss_list:
                 oss  =  "'%s'" % oss
                 gettodayoss(oss)
                 getyesterdayoss(oss)
                 getdiff(oss)
print ( "整个脚本执行结束,感谢您的使用!" )


执行效果如下:

wKioL1nMakPjfPapAAKWBp6JSPc022.png


新的知识点!

1)python获取今天日期的方法:

1
2
3
4
5
>>>  import  time
>>> time.strftime( '%Y-%m-%d' )
'2017-09-28'
>>>  type (time.strftime( '%Y-%m-%d' ))
< type  'str' >

2)python获取昨天的日期的办法:

1
2
3
4
5
6
7
8
>>>  import  datetime
>>> now_time  =  datetime.datetime.now()
>>> yes_time  =  now_time  +  datetime.timedelta(days = - 1 )
>>> yes_time_nyr  =  yes_time.strftime( '%Y-%m-%d' )
>>>  print  (yes_time_nyr)
2017 - 09 - 27
>>>  type (yes_time_nyr)
< type  'str' >

3)在 if __name__ == "__main__" 这一步的时候,我添加了一句 oss = "'%s'"%oss ,这是因为如果不加这句话,那么传递给阿里云的bucket名称格式不正确,正常的格式应该是:

1
{ 'BucketName' : 'lechangecloud' }


不加这句话,得到的格式是缺少单引号的:

1
{ 'BucketName' :lechangecloud}



最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!

wKioL1l16m3BMYDKAACPHEqd55Q687.jpg


 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1969364


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
13天前
|
弹性计算 Java PHP
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
对于初次购买阿里云产品的用户来说,第一步要做的是注册账号并完成实名认证,然后才是购买阿里云服务器或者其他云产品,本文为大家以图文形式展示一下新手用户从注册阿里云账号、实名认证到购买云服务器完整详细教程,以供参考。
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
|
13天前
|
机器学习/深度学习 存储 分布式计算
机器学习PAI常见问题之DLC的数据写入到另外一个阿里云主账号的OSS中如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
13天前
|
机器学习/深度学习 人工智能 供应链
【专栏】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化
【4月更文挑战第29天】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化。具有灵活性、易用性、高效稳定和智能学习等特点。广泛应用于财务、人力资源、客服和供应链等领域,未来将与AI深度融合,跨平台应用,行业定制化,并构建完善生态,助力企业效率提升和创新。
|
13天前
|
运维 监控 关系型数据库
Serverless 应用引擎产品使用之在阿里云函数计算(FC)中,要访问另一个账号的rds配置rds的白名单如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
13天前
|
前端开发 Serverless Shell
Serverless 应用引擎操作报错合集之在阿里云函数计算中,laravel zip包使用示例的start.sh脚本启动时出现错误代码如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
13天前
|
敏捷开发 Devops 测试技术
云效产品使用常见问题之不知道每次登录是否会记录在阿里云账号的登录日志中如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
13天前
|
监控 数据安全/隐私保护
基于钉钉的阿里云管理实践(一)之账号绑定
在企业日常运营中,通常都需要对阿里云的资源进行管理,对云资源的运行情况进行监控。而钉钉作为一款企业内部沟通协作工具,其与阿里云的结合使用能够提升企业管理效率,实现资源统一管理。 本教程将指导您如何将钉钉账号与阿里云账号进行绑定,以便于更高效地进行资源管理和接收监控告警。
154 0
|
13天前
|
数据采集 DataWorks 数据安全/隐私保护
有没有方式可以实现dataworks数据迁移(从阿里云一个账号迁移到另外一个账号)?
有没有方式可以实现dataworks数据迁移(从阿里云一个账号迁移到另外一个账号)?
92 0
|
13天前
|
弹性计算 运维 监控
解密阿里云弹性计算:探索云服务器ECS的核心功能
阿里云ECS是核心计算服务,提供弹性云服务器资源,支持实例按需配置、集群管理和监控,集成安全防护,确保服务稳定、安全,助力高效业务运营。
272 0

热门文章

最新文章