首页 > > > 阿里云账单费用api调用
现在也快过新年了,每年的年底和新年的年初公司都会了解下各资源使用和费用的情况,尤其还是不同部门的需求,上报到公司的部分也不同。虽然说阿里云也提供了费用账单和各项目的使用情况,但毕竟是大众化的展示,对我们自己实际的使用虽然有一定的帮助,但也是非常的不方便。
比如,查询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):
# true = "true"
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 =
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'{item}:{round(sum(bill), 2)}')
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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10915175/viewspace-3132241/ ,如需转载,请注明出处,否则将追究法律责任。