你可以使用EDAS提供的Python SDK進(jìn)行API調(diào)用。

獲取Python SDK

Python 2.7.x以上版本。

  • 使用pip快速安裝(聯(lián)網(wǎng)環(huán)境下推薦)
    root# pip install -U aliyun-python-sdk-core
    root# pip install -U aliyun-python-sdk-edas
    說(shuō)明 root#表示在Linux環(huán)境下需要用root用戶執(zhí)行命令,macOS環(huán)境下請(qǐng)?jiān)诿钋疤砑觭udo來(lái)執(zhí)行上面這兩條命令,建議每隔2~3個(gè)月就執(zhí)行上面的命令更新上面的2個(gè)SDK包的版本。
  • 離線安裝(無(wú)互聯(lián)網(wǎng)連接的環(huán)境)
    1. 在聯(lián)網(wǎng)環(huán)境訪問(wèn)阿里云開(kāi)放平臺(tái),根據(jù)頁(yè)面提示下載Python SDK核心庫(kù)
    2. 將得到的壓縮包上傳至需要運(yùn)行Python API調(diào)用程序的目標(biāo)主機(jī)中并解壓,然后依次進(jìn)入aliyun-python-sdk-core和aliyun-python-sdk-edas子目錄,分別執(zhí)行以下命令安裝aliyun-python-sdk-core和aliyun-python-sdk-edas這兩個(gè)Python SDK:
      root# python setup.py install

使用Python SDK調(diào)用API

實(shí)際使用時(shí),請(qǐng)?zhí)鎿Q下面示例中的aliyun_user_ak、aliyun_user_sk、region_id這 3 個(gè)公共參數(shù)及其他必要的參數(shù),公共參數(shù)的詳細(xì)信息請(qǐng)參見(jiàn)API調(diào)用公共參數(shù)

#!/usr/bin/env python
# -*- coding=UTF-8 -*-

import sys, json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.profile import region_provider
from aliyunsdkedas.request.v20170801.ListApplicationRequest import ListApplicationRequest
from aliyunsdkedas.request.v20170801.ListDeployGroupRequest import ListDeployGroupRequest


if __name__ == '__main__':
    #請(qǐng)?zhí)顚?xiě)阿里云賬號(hào)或RAM用戶的AccessKey ID.
    aliyun_user_ak = 'LTAIPQxxxxxxxxxx'
    #請(qǐng)?zhí)顚?xiě)阿里云賬號(hào)或RAM用戶的AccessKey Secret.
    aliyun_user_sk = 'W75qdr9ORkxxxxxxxxxxxxxx'
    #請(qǐng)?zhí)顚?xiě)要執(zhí)行API調(diào)用的應(yīng)用及ECS、SLB、VPC等資源所在地域ID。
    region_id = 'cn-shanghai'


    client = AcsClient(ak=aliyun_user_ak, secret=aliyun_user_sk, region_id=region_id, timeout=300)
    applist_req = ListApplicationRequest()
    applist_resp = json.loads(client.do_action_with_exception(applist_req))
    if applist_resp['Code'] == 200:
        applist = applist_resp['ApplicationList']['Application']
        for app in applist:
            app_name = app['Name']
            app_id = app['AppId']
            print u'應(yīng)用名稱(chēng) : ' + app_name + u', 應(yīng)用Id : ' + app_id
            dglist_req = ListDeployGroupRequest()
            dglist_req.set_AppId(app_id)
            dglist_resp = json.loads(client.do_action_with_exception(dglist_req))
            if dglist_resp['Code'] == 200:
                dglist = dglist_resp['DeployGroupList']['DeployGroup']
                for dg in dglist:
                    dg_name = dg['GroupName']
                    if dg_name == '_DEFAULT_GROUP':
                        dg_name = u'默認(rèn)分組'
                    dg_id = dg['GroupId']
                    print u'\t分組名: ' + dg_name + u', 分組ID: ' + dg_id
            else:
                print u'獲取' + app_name + u'應(yīng)用的分組列表失敗.'
    else:
        print u'獲取應(yīng)用列表失敗.'
            
說(shuō)明
  • 從aliyun-python-sdk-core 2.13.9+和aliyun-python-sdk-edas 2.52.1+版本開(kāi)始,使用EDAS POP API的Python SDK時(shí),不再需要在代碼中設(shè)置product_name ( Edas ) 和region_domain(例如:edas.cn-shanghai.aliyuncs.com)這兩個(gè)參數(shù),aliyun-python-sdk-core會(huì)自動(dòng)根據(jù)region_id的值自動(dòng)解析出該region_id對(duì)應(yīng)的endpoint domain,想體驗(yàn)這個(gè)功能,請(qǐng)執(zhí)行下面的操作將aliyun-python-sdk-core和aliyun-python-sdk-edas版本升級(jí)到最新。
    root# pip install -U aliyun-python-sdk-core
    root# pip install -U aliyun-python-sdk-edas
    root# pip list 2>/dev/null | grep -E "aliyun-python-sdk-core|aliyun-python-sdk-edas"
    aliyun-python-sdk-core        2.13.9
    aliyun-python-sdk-edas        2.52.1          
  • 該示例在Python 2.7.x版本測(cè)試可用。使用Python 3.x版本時(shí),請(qǐng)注意兼容性。

更多信息