阿里云服务python SDK的使用

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 仅仅是通过购买阿里云的服务进行完全自动化暂时还无法满足大家当前需求,所以需要我们使用SDK操作,对于阿里云负载均衡以后自动发现服务器还是有一定期望

阿里云大多数服务都提供成熟的python SDK,方便我们快速调用,下面是我自己使用负载均衡SLB的调用过程:

github地址:https://github.com/bashhu/blog/blob/master/utils/aliyun_slb.py


# -*- coding: utf8 -*-
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkslb.request.v20140515 import DescribeRegionsRequest,AddBackendServersRequest,RemoveBackendServersRequest,SetBackendServersRequest,DescribeHealthStatusRequest
from aliyunsdkecs.request.v20140526 import StopInstanceRequest
# 创建 AcsClient 实例
client = AcsClient(
    "xxxxxxxxx",
    "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "cn-beijing"
);

def add_server(slbid, server_list):
    '''
     创建 request,并设置参数
     slbid=>'lb-2zekxu2elibyexxoo9hlw'
    server_list=>[{"ServerId": "slb_id_1", "Weight": "100"},
    {"ServerId": "slb_id_2", "Weight": "100"}
    ]
    '''
    request = AddBackendServersRequest.AddBackendServersRequest()
    # 发起 API和参数 请求
    request.set_accept_format('json')
    request.set_LoadBalancerId(slbid)
    request.set_BackendServers(server_list)
    # 并打印返回
    response = client.do_action_with_exception(request)
    print response

def remove_server(slbid, ecsid_list):
    '''创建 request,并设置参数
    slbid:是负载均衡ID
     ecsid_list:['slb_id_1','slb_id_2','slb_id_3']
    '''
    request = RemoveBackendServersRequest.RemoveBackendServersRequest()
    request.set_accept_format('json')
    request.set_LoadBalancerId(slbid)
    request.set_BackendServers(ecsid_list)
    response = client.do_action_with_exception(request)
    print response

def set_wight(slbid, server_list):
    '''
     创建 request,并设置参数
     slbid=>'lb-2zekxu2elibyexxoo9hlw'
    server_list=>[{"ServerId": "slb_id_1", "Weight": "100"},
    {"ServerId": "slb_id_2", "Weight": "100"}
    ]
    '''
    request = SetBackendServersRequest.SetBackendServersRequest()
    # 发起 API和参数 请求
    request.set_accept_format('json')
    request.set_LoadBalancerId(slbid)
    request.set_BackendServers(server_list)
    # 并打印返回
    response = client.do_action_with_exception(request)
    print response


def health_status(slbid, port):
    '''创建 request,并设置参数
    slbid:是负载均衡ID
     ecsid_list:['slb_id_1','slb_id_2','slb_id_3']
    '''
    request = DescribeHealthStatusRequest.DescribeHealthStatusRequest()
    request.set_accept_format('json')
    request.set_LoadBalancerId(slbid)
    request.set_ListenerPort(port)
    response = client.do_action_with_exception(request)
    print response

def create_slb(LoadBalancerName, AddressType, VSwitchId):
    '''
    LoadBalancerName='test-slb-01'
    AddressType='intranet'
    VSwitchId='vsw-2ze130t0mdnzmtvx7uyck'
    create_slb(LoadBalancerName, AddressType,  VSwitchId)
    '''
    from aliyunsdkslb.request.v20140515 import CreateLoadBalancerRequest
    request = CreateLoadBalancerRequest.CreateLoadBalancerRequest()
    request.set_accept_format('json')
    request.set_LoadBalancerName(LoadBalancerName)
    request.set_AddressType(AddressType)
    request.set_VSwitchId(VSwitchId)
    response = client.do_action_with_exception(request)
    print response

def slb_regionid():
    '''
    slb_regionid():查看区域列表
    '''
    from aliyunsdkslb.request.v20140515 import DescribeRegionsRequest
    request = DescribeRegionsRequest.DescribeRegionsRequest()
    request.set_accept_format('json')
    response = client.do_action_with_exception(request)
    print response






相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1443 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
19天前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
1月前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
132 3
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
使用Python实现深度学习模型:智能客户服务与支持
使用Python实现深度学习模型:智能客户服务与支持
35 6
|
2月前
|
网络协议 Python
|
3月前
|
Kubernetes API 开发工具
【Azure Developer】通过SDK(for python)获取Azure服务生命周期信息
需要通过Python SDK获取Azure服务的一些通知信息,如:K8S版本需要更新到指定的版本,Azure服务的维护通知,服务处于不健康状态时的通知,及相关的操作建议等内容。
50 18
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
摘要分享服务python版
【10月更文挑战第3天】本文介绍了将链接转换为标题和内容摘要的技术,包括抽取式和生成式摘要方法。抽取式摘要通过提取关键句子生成摘要,而生成式摘要则通过理解语义生成新句子。文中还详细描述了链接预览生成的实现过程,从链接识别到内容解析,再到预览卡片生成,并提供了Python代码示例。这些技术提高了信息的可读性和访问效率。
15 0
|
4月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
102 0
|
1月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
73 1
|
2月前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
64 7