python实现钉钉群机器人报告推送

前言

Python+七牛云+钉钉+ODPS实现数据获取及群消息自动推送。

几个步骤
  1. 获取数据
  2. 制表、绘图
  3. 利用七牛云获取图片url
  4. 通过钉钉sdk发送群消息

如果有很多信息需要推送,可以考虑在绘图时直接用subplots将图分割好;
也可以通过钉钉推送markdown内容进行多张图配置;

获取数据

参考python获取外部数据源

e.g.

def get_monitor_data():
    sql='select * from table'
    df=exe_sql(sql)
    return df
制表、绘图

参考python matplotlib应用

参考python pyecharts应用

e.g.

def plt_data_to_line(df,img_name):
    dat.plot.line(x='time', y='value',
                  marker='o',
                  figsize=(16, 6),
                )
    plt.gca()
    plt.margins(0.2)
    plt.subplots_adjust(bottom=0.15)
    plt.gca().set_xlabel('')
    plt.savefig(img_name, bbox_inches='tight')
    plt.show()
    plt.pause(2)
    plt.close()
    retrun Ture
利用七牛云获取图片url
def gmt_img_url(key=None,local_file=None,**kwargs):
    # refer:https://developer.qiniu.com/kodo/sdk/1242/python
    # key:上传后保存的文件名;
    # local_file:本地图片路径,fullpath
    # 遗留问题:如果服务器图片已存在,需要对保存名进行重命名

    #需要填写你的 Access Key 和 Secret Key
    access_key = '*************************'
    secret_key = '*************************'

    #构建鉴权对象
    q = Auth(access_key, secret_key)

    #要上传的空间
    bucket_name = 'xisuo'

    #生成上传 Token,可以指定过期时间等
    token = q.upload_token(bucket_name, key)

    #要上传文件的本地路径
    ret, info = put_file(token, key, local_file)

    base_url = 'http://pp055odno.bkt.clouddn.com/'    #七牛测试url
    url = base_url + '/' + key
    private_url = q.private_download_url(url)

    return private_url
    
key = 'data/%s'%(img_name)
img_url = gmt_img_url(key=key, local_file=img_name)
通过钉钉sdk发送群消息
def create_monitor_flow(img_url,webhook=None,msg_type=None):
    # webhook 通过钉钉群添加机器人可获取
    webhook = 'https://oapi.dingtalk.com/robot/send?access_token=***************************'
    xiaoding = DingtalkChatbot(webhook)
    txt = '#### 昨日日期:%s,星期%s @所有人\n' \
          '> 2019年1月1日起进入监控过程...\n\n' \
          '> 以下为异常数据统计结果:\n\n'\
          '> ![昨日数据监控结果](%s)\n'\
          '> ###### xisuo数据,你所值得信赖的合作伙伴! \n'%(yesterday,wkd_str,img_url)
    print(txt)
    xiaoding.send_markdown(title='数据监控', text=txt, is_at_all=True)
create_monitor_flow(img_url)
服务器部署

脚本部署到服务器应用

开始愉快的玩耍吧

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑小柒是西索啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值