阿裏雲服務python 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
最後更新:2017-08-13 22:53:53