绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
修改
gray1982 栈主 2020-01-15 10:29:29

现在也快过新年了,每年的年底和新年的年初公司都会了解下各资源使用和费用的情况,尤其还是不同部门的需求,上报到公司的部分也不同。虽然说阿里云也提供了费用账单和各项目的使用情况,但毕竟是大众化的展示,对我们自己实际的使用虽然有一定的帮助,但也是非常的不方便。 比如,查询19年每个产品使用的费用和19年总的费用。 如果使用阿里云提供的账单可能需要做个excel表格,然后填上几十个项目的名称和每个月的费用开销,后再算一个加法求总和。 虽然后也得到了想要的结果,但是花费的时间可能不是一点两点,效率极其的低下。 如果内容还会经常的变动话............. 出于这种原来吧,我把我这常用的需求写了一段代码,这样在每个ppt、方案、文档等需要的时候,我可以很快、很准备、很方便的得到结果,这种效率可不是一般的高啊.......... #coding=utf-8 from aliyunsdkbssopenapi.request.v20171214.QueryBillOverviewRequest import QueryBillOverviewRequest from conf.settings import * from util.check_sth import * from aliyunsdkbssopenapi.request.v20171214.QueryInstanceBillRequest import QueryInstanceBillRequest from aliyunsdkbssopenapi.request.v20171214.QueryOrdersRequest import QueryOrdersRequest class query_bill(object): def __init__(self,account): self.client = AcsClient(token[account+'_accesskey'], token[account+'_accesspasswd'], region['bj']) self.request = QueryBillOverviewRequest() self.request.set_accept_format('json') self.year = 2019 global true,false false = "false" true = "true" def query_bill_data(self): month_data_list=[] print ('正在计算中.........') for month in range(1,13): self.request.set_BillingCycle(f"{self.year}-{str(month).zfill(2)}") self.response = self.client.do_action_with_exception(self.request) month_data_list.append(eval(str(self.response, encoding='utf-8'))['Data']['Items']['Item']) return month_data_list def query_year_bill(self): year_bill = 0 items_bill_dic = {} for month_bill_data in self.query_bill_data(): for month_detail in month_bill_data: year_bill += month_detail['PretaxAmount'] items_bill_dic.setdefault(month_detail['ProductName'], []).append(month_detail['PretaxAmount']) for item,bill in items_bill_dic.items(): print(f'{self.year}年项目-{item}-共消费了:{round(sum(bill), 2)}') print(f'{self.year}年全年可开发票的开销总费用为:{round(year_bill,2)}') if __name__ == ‘__main__': account=sys.argv[1] if check_input_lens() else 'krb' query_bill(account).query_year_bill() 得到的后结果是如下: 正在计算中......... 2019年项目-对象存储 OSS-共消费了:XXXX 2019年项目-高速通道-共消费了:XXXX 2019年项目-云服务器 ECS-共消费了:XXXX 2019年项目-云安全中心(态势感知)-共消费了:XXXX 2019年项目-负载均衡-共消费了:XXXX 2019年项目-弹性公网IP-共消费了:XXXX 2019年项目-CDN-共消费了:XXXX 2019年项目-块存储-共消费了:XXXX 2019年项目-云市场三方-共消费了:XXXX 2019年项目-云市场-共消费了:XXXX 2019年项目-消息队列 MQ-共消费了:XXXX 2019年项目-云数据库 POLARDB-共消费了:XXXX 2019年项目-云数据库 Redis 版-共消费了:XXXX 2019年项目-IPv6转换服务-共消费了:XXXX 2019年项目-Web应用防火墙-共消费了:XXXX 2019年项目-云数据库 MongoDB 版-共消费了:XXXX 2019年项目-时序时空数据库-共消费了:XXXX 2019年项目-企业邮箱-共消费了:XXXX 2019年项目-域名-共消费了:XXXX …………… 2019年全年可开发票的开销总费用为:XXXX

展开
没有更多了
分享好友

点击获得分享链接,复制给好友成功购买后您可以获得2成返利哦~

创建新的小栈
鑫的运维平台
创建时间:2019-09-18 10:37:00
运维的方方面面、运维平台的创建使用、Python、Django等
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • gray1982
    栈主

小栈成员

查看更多
  • 小尾巴鱼
  • 栈栈
特邀嘉宾

亲爱的$mastername栈主,

作为我们尊贵的VIP,您可以免费邀请人脉圈的任何人加入小栈,与您共同建设、管理$stackname小栈,为您站场,期待您的小栈聚集各路大牛

⚠️注意事项:

1.被邀请嘉宾与您同享小栈部分权益,可共同活跃、管理小栈内用户;

2.嘉宾可在24小时之内通过下一步给到的链接注册登录,过期失效;

3.为大程度保护您小栈的隐私性,请在安全的环境下发给可信任的用户;

4.链接仅可单人单次使用;

5.目前多可邀请9位嘉宾入驻。

戳我,来吐槽~
修改小栈
修改封面
小栈名称
小栈简介
小栈售价
免费小栈仅享有一次修改为付费的机会,直接修改价格即可;
修改为【付费】后不可再次修改为【免费】,请谨慎操作。
取消 确定

您可以在此修改小栈的图像和简介,如果您是免费小栈,可享受仅1次修改未收费小栈的机会