修改lb权重,通知钉钉

前提需要安装阿里的核心库

#!/usr/local/python-3.6.4/bin/python3
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkslb.request.v20140515.SetBackendServersRequest import SetBackendServersRequest
from urllib import request as ddrequest
import json
from sys import argv

client = AcsClient('LTAI42e74K2hrtmu', 'f4S7rx9KEFv9Js3AR5KmU6V7g9D4xd', 'cn-beijing')
access_token = "dingding"

def set_lb(request,ecs,weight,loadslb):
    serverid = ecs.get("serverid")
    request.set_accept_format('json')
    slb_list = '[{"ServerId":"%s","Weight":"%s"},]' % (str(serverid),str(weight))
    print(slb_list)
    request.set_BackendServers(slb_list)
    request.set_LoadBalancerId(loadslb)
    try:
        response = client.do_action_with_exception(request)
    except Exception as e:
        response = {"hostname":ecs.get("hostname"),"ip":ecs.get("ip"),"message":"在修改权重为100的时候,发生了意外"}
        send_msg(response)
    else:
        response = {"hostname":ecs.get("hostname"),"ip":ecs.get("ip"),"message":"修改权重为100成功"}
        send_msg(response)

def send_msg(response):
    url = "https://oapi.dingtalk.com/robot/send?access_token=" + access_token
    data = {
        "msgtype": "text",
        "text": {
            "content": response
        },
        "at": {
            "isAtAll": "false"
        }
    }
    json_data= json.dumps(data).encode(encoding='utf-8')
    print(json_data)
    header_encoding = {"Content-Type": "application/json"}
    req = ddrequest.Request(url=url, data=json_data, headers=header_encoding)
    res = ddrequest.urlopen(req)
    res = res.read()
    print(res.decode(encoding='utf-8'))

if __name__ == "__main__":
    request = SetBackendServersRequest()
    ecs = {"hostname":"pc-prod-1","ip":"ip","serverid":"id"}
    weight = "100"
    loadslb = "lb-id"
    set_lb(request,ecs,weight,loadslb)

  

set_lb的更多相关文章

随机推荐

  1. 28 让树莓派开机“说”出自己的IP地址

    http://shumeipai.nxez.com/2019/02/02/analogue-audio-redux.html 树莓派音频口底噪消除的方法

  2. 【librosa】及其在音频处理中的应用

    [持续更新] display specshow(data[, x_coords, y_coords, x_axis, …]) Display a spectrogram/chromagram/cqt/ ...

  3. Docker入门之安装Docker

    目录 目录 1 1. 前言 1 2. 创建网桥 2 3. 安装Docker 2 3.1. 二进制安装 3 3.1.1. 下载安装 3 3.1.2. 配置服务 3 3.1.3. 启动服务 4 3.2. ...

  4. java 集合运算

    package testjavapro; import java.util.BitSet; public class testjavaa { public static void main(Strin ...

  5. 不用FTP,直接Windows与Linux下互传文件

    直接上传文件到Linux[1] Linux上输入命令:rz 直接下载Linux中的文件[2] 使用命令: sz 文件名 网上看到这个帖子,觉得很实用,转载保存 下载一个部署文件夹,到本地电脑 . 两步 ...

  6. JUC锁框架_AbstractQueuedSynchronizer详细分析

      AQS是JUC锁框架中最重要的类,通过它来实现独占锁和共享锁的.本章是对AbstractQueuedSynchronizer源码的完全解析,分为四个部分介绍: CLH队列即同步队列:储存着所有等待 ...

  7. 【Gamma阶段】第七次Scrum Meeting

    冰多多团队-Gamma阶段第七次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 卓培锦 编辑器风格切换(添加夜间模式) UI界面手势切换 牛雅哲 语音输入shell应用:基于pytorch ...

  8. 一文带你了解elasticsearch

    一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36   elasticsearch es基本概念 es术语介绍 文档Document ...

  9. 「HAOI2015」树上操作(非树剖)

    题目链接(luogu) 看到标签::树链剖分,蒟蒻Sy开始发抖,不知所措,但其实,本题只需要一个恶心普通的操作就可以了!! 前提知识:欧拉序 首先我们知道dfs序,就是在dfs过程中,按访问顺序进行编 ...

  10. 第十节:Asp.Net Core 配置详解和选项模式

    一. 各种文件的读取 1.说明 在.Net Core中,各种配置文件的读取都需要依赖[Microsoft.Extensions.Configuration]程序集,当然在Asp.Net Core中已经 ...