python调用阿里云sdk实现多账户余额报警到钉钉

该Python脚本旨在解决多个阿里云账户费用充值遗漏的问题,通过定时查询账户余额并发送钉钉提醒。脚本使用阿里云SDK查询每个账户的可用余额,并将结果汇总后通过钉钉机器人发送Markdown格式的消息。消息内容包括账户名称、可用余额以及续费链接,方便用户及时处理充值问题。脚本目前尚未测试负数余额的情况,但已实现基本功能,确保用户能够及时掌握账户余额状态,避免因费用不足导致的服务中断。

import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkbssopenapi.request.v20171214.QueryAccountBalanceRequest import QueryAccountBalanceRequest
from dingtalkchatbot.chatbot import DingtalkChatbot
 
# 阿里云 AccessKey ID 和 Access Key Secret,以及账户 ID 和名称
accounts = [
    {
        'access_key_id': 'xxxx',
        'access_key_secret': 'xxxx',
        'account_name': '账户 1'
    },
    {
        'access_key_id': 'xxx',
        'access_key_secret': 'xxxx',
        'account_name': '账户 2'
    },
    {
        'access_key_id': 'xx',
        'access_key_secret': 'xxxx',
        'account_name': '账户 3'
    },
    {
        'access_key_id': 'xxxxx',
        'access_key_secret': 'xxxxx',
        'account_name': '账户 4'
    }
]
 
# 钉钉机器人 webhook 地址
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxx'
 
# 创建 ACS 客户端并查询余额
balances = []
total_balance = 0
for account in accounts:
    client = AcsClient(account['access_key_id'], account['access_key_secret'], 'cn-hangzhou')
    request = QueryAccountBalanceRequest()
    request.set_accept_format('json')
    response = client.do_action_with_exception(request)
    result = json.loads(response)
    balance = float(result['Data']['AvailableCashAmount'].replace(',', ''))
    balances.append((account['account_name'], balance))
    total_balance += balance
 
# 发送钉钉消息
dingtalk_robot = DingtalkChatbot(webhook_url)
message = "### <center><font color='blue'> 账户余额定时提醒 </font></center>\n\n"
message += '[** 点击进行续费 **](https://www.aliyun.com)\n'
#message += '''## 总余额:%.2f 元 \n\n''' % total_balance
message += '''| 账户 ID| 可用余额 |\n|-|-|\n'''
for account_id, balance in balances:
    message += '''|%s|%.2f 元 |\n''' % (account_id, balance)
 
dingtalk_robot.send_markdown(title='多账户余额查询结果', text=message)
 

效果图如下

完整原文链接

https://www.g6k.cn/2023/04/1936.htmlhttp://python调用阿里云sdk实现多账户余额报警到钉钉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值