阿里云服务python SDK的使用

简介: 仅仅是通过购买阿里云的服务进行完全自动化暂时还无法满足大家当前需求,所以需要我们使用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






相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
1月前
|
监控 网络协议 API
阿里云BssOpenAPI是一个基于阿里云开放API的服务
【2月更文挑战第24天】阿里云BssOpenAPI是一个基于阿里云开放API的服务
136 6
|
1月前
|
自然语言处理
阿里云百炼大模型服务--企业知识检索问答指南
阿里云百炼提供的企业知识检索问答应用可以帮助大家实现让大模型瞬间“开挂”的技能。结合上传的知识数据,大模型识别解析学习文档内容,最终给出生成式回复。我们在通义千问-Turbo/Max大模型基础上,将文件上传、读取、切片、向量化等过程都开发好预置在应用中,实现开箱即用,更能满足您的日常需求。
|
1月前
|
弹性计算 负载均衡 网络协议
这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
【2月更文挑战第20天】这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
59 1
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1
|
6天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
6天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
29天前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
16 5
|
1月前
|
人工智能 IDE API
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务

热门文章

最新文章