閱讀259 返回首頁    go 阿裏雲 go 技術社區[雲棲]


阿裏雲服務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

  上一篇:go  點晴OA是如何讓用戶成為係統主人的
  下一篇:go  Java學習筆記,適用於零基礎的小夥伴