全部产品
云市场

Python SDK 接入指南

更新时间:2019-08-29 19:03:03

你可以使用 EDAS 提供的 Python SDK 进行 API 调用。

支持的 Python 版本

2.6.5 + (包括 Python 3.x )

获取 Python SDK

使用 pip 快速安装(联网环境下推荐)

  1. root# pip install -U aliyun-python-sdk-core
  2. root# pip install -U aliyun-python-sdk-edas

Note:root# 表示( Linux 环境下) 需要用 root 用户执行,macOS 环境下请在命令前添加 sudo 来执行上面这两条命令,建议隔2-3个月就执行一下上面的命令更新一下上面 2 个 sdk 包的版本。

离线安装 (无互联网连接的环境)

首先需要找到一个联网的环境将 Python SDK 工程下载下来,然后拷贝到一个没有互联网接入的环境,解压并安装,具体步骤参考下方。

  • 在联网环境下,访问 aliyun-openapi-python-sdk 并点击 Clone or downloaded 按钮下载 Python SDK 工程,然后将会得到一个 aliyun-openapi-python-sdk-master.zip 名称的压缩包。aliyun-python-sdk-img
  • 将上一步得到的压缩包上传至需要运行 Python API 调用程序的目标主机中并解压得到 aliyun-openapi-python-sdk-master,然后依次进入 aliyun-python-sdk-core 和 aliyun-python-sdk-edas 子目录,并依次执行下面的命令安装 aliyun-python-sdk-core 和 aliyun-python-sdk-edas 这两个 Python SDK:
    1. root# python setup.py install

使用 Python SDK 调用 API

实际使用时,请替换下面示例中的 aliyun_user_ak、aliyun_user_sk、region_id 这 3 个公共参数(可参考 API 调用公共参数 对这几个参数的说明进行设置)及其他必要的参数。

  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. import sys, json
  4. from aliyunsdkcore.client import AcsClient
  5. from aliyunsdkcore.profile import region_provider
  6. from aliyunsdkedas.request.v20170801.ListApplicationRequest import ListApplicationRequest
  7. from aliyunsdkedas.request.v20170801.ListDeployGroupRequest import ListDeployGroupRequest
  8. if __name__ == '__main__':
  9. #请填写阿里云主账号或子账号 AccessKey ID.
  10. aliyun_user_ak = 'LTAIPQxxxxxxxxxx'
  11. #请填写阿里云主账号或子账号 AccessKey Secret.
  12. aliyun_user_sk = 'W75qdr9ORkxxxxxxxxxxxxxx'
  13. #请填写要执行 API 调用的应用及 ECS、SLB、VPC 等资源所在地域 ID.
  14. region_id = 'cn-shanghai'
  15. client = AcsClient(ak=aliyun_user_ak, secret=aliyun_user_sk, region_id=region_id, timeout=300)
  16. applist_req = ListApplicationRequest()
  17. applist_resp = json.loads(client.do_action_with_exception(applist_req))
  18. if applist_resp['Code'] == 200:
  19. applist = applist_resp['ApplicationList']['Application']
  20. for app in applist:
  21. app_name = app['Name']
  22. app_id = app['AppId']
  23. print u'应用名称 : ' + app_name + u', 应用Id : ' + app_id
  24. dglist_req = ListDeployGroupRequest()
  25. dglist_req.set_AppId(app_id)
  26. dglist_resp = json.loads(client.do_action_with_exception(dglist_req))
  27. if dglist_resp['Code'] == 200:
  28. dglist = dglist_resp['DeployGroupList']['DeployGroup']
  29. for dg in dglist:
  30. dg_name = dg['GroupName']
  31. if dg_name == '_DEFAULT_GROUP':
  32. dg_name = u'默认分组'
  33. dg_id = dg['GroupId']
  34. print u'\t分组名: ' + dg_name + u', 分组ID: ' + dg_id
  35. else:
  36. print u'获取' + app_name + u'应用的分组列表失败.'
  37. else:
  38. print u'获取应用列表失败.'

说明

  • 从 aliyun-python-sdk-core 2.13.9+ 和 aliyun-python-sdk-edas 2.52.1+ 版本开始,使用 EDAS POP API 的 Python SDK 时,不再需要在代码中设置 product_name ( Edas ) 和 region_domain (例如:edas.cn-shanghai.aliyuncs.com ) 这两个参数,aliyun-python-sdk-core 会自动根据 region_id 的值自动解析出该 region_id 对应的 endpoint domain,想体验这个功能,请执行下面的操作将 aliyun-python-sdk-core 和 aliyun-python-sdk-edas 版本升级到最新:

    1. root# pip install -U aliyun-python-sdk-core
    2. root# pip install -U aliyun-python-sdk-edas
    3. root# pip list 2>/dev/null | grep -E "aliyun-python-sdk-core|aliyun-python-sdk-edas"
    4. aliyun-python-sdk-core 2.13.9
    5. aliyun-python-sdk-edas 2.52.1
  • 该示例在 Python 2.7.x 版本测试可用,在 Python 3.x 版本使用时,请注意兼容性。

更多信息