集成SDK
在调用OpenAPI时,建议采用在项目中集成SDK的方式。使用SDK可以简化开发流程,实现功能的快速集成,同时有效降低维护成本。本文将详细介绍如何在项目中安装SDK以及使用SDK开发。
环境要求
Python >= 3.7
安装SDK
由于在安装云产品Python V1.0 SDK时会自动安装核心SDK,所以在实际应用过程中仅需要安装云产品SDK即可。
云产品SDK
云产品SDK主要包含了调用OpenAPI所需的请求参数Request对象及返回结果Response对象。以云产品ECS的SDK为例,您可以在Terminal或者命令行中执行以下安装命令:
pip install aliyun-python-sdk-ecs
V1.0 SDK的命名方式为aliyun-python-sdk-${产品code}
。您也可以通过SDK信息中心来查看具体产品的V1.0 SDK的信息。
核心SDK
核心SDK主要包含在调用OpenAPI时所需的Client对象、签名逻辑以及异常处理等功能。当您使用泛化调用或者单独安装某一个版本的核心SDK时,可以执行以下安装命令:
pip install aliyun-python-sdk-core
核心SDK版本信息请参见aliyun-python-sdk-core · PyPI。
使用SDK
本文将以调用ECSDescribeInstances接口为例,为您分步介绍如何使用V1.0 SDK。
1. 初始化请求客户端
所有的OpenAPI均通过核心SDK提供的Client发起调用,因此在调用OpenAPI之前,需要先进行客户端初始化。这里以使用AK初始化方式为例,更多客户端初始化方式请参见管理访问凭据。
示例采用读取环境变量的方式获取凭证,运行代码前需配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
。具体操作,请参见在Linux、macOS和Windows系统配置环境变量。
import os
from aliyunsdkcore.client import AcsClient
# 初始化Client
client = AcsClient(
os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'), # 从环境变量中获取RAM账号的AccessKey ID
os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), # 从环境变量中获取RAM账号Access Key Secret
'<REGION_ID>' # 地域ID
)
2. 构造OpenAPI请求参数对象
可以使用云产品SDK中提供的Request对象封装请求参数。
OpenAPI请求参数对象的命名方式为:<OpenAPI名称>Request
。
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
# 构造DescribeInstancesRequest对象
request = DescribeInstancesRequest()
request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
request.set_PageSize(100)
request.set_PageNumber(1)
3. 发起请求
通过步骤1创建的请求客户端调用do_action_with_exception接口发起请求,该接口的参数为步骤2构造的Request对象。调用成功后,将返回Response对象。
response = client.do_action_with_exception(request)
print(response)
4. 异常处理
在调用OpenAPI时如果发生异常,您可以通过捕获ServerException和ClientException来获取错误信息。其中ClientException异常一般是在初始化客户端过程中参数填错,例如AK输入错误;ServerException异常产生的原因有很多种,您可以根据异常中返回的RequestId联系阿里云协助排查问题。
配置pip国内镜像源(可选)
在中国内地,使用阿里云的镜像源可以显著提高下载速度。
临时使用
如果您只是想在某一次安装时使用特定的镜像源,可以在pip命令后加上-i
参数指定镜像地址。例如使用阿里云的镜像源安装aliyun-python-sdk-core
库,可以这样操作:
pip install aliyun-python-sdk-core -i https://mirrors.aliyun.com/pypi/simple/
永久配置
如果您想永久修改pip的默认源,可以编辑pip的配置文件,Linux和macOS上通常是~/.pip/pip.conf
,Windows上是 %USERPROFILE%\pip\pip.ini
。如果文件不存在,您可以手动创建它。
Linux/macOS
在终端中执行以下命令来编辑配置文件(如果文件不存在,这将创建它):
mkdir -p ~/.pip && vim ~/.pip/pip.conf
按下
i
键进入编辑模式,将以下内容复制到配置文件中。[global] index-url = http://mirrors.cloud.aliyuncs.com/pypi/simple/
按下
ESC
,输入:wq
保存配置文件。您可以执行以下命令检查是否配置正确。pip config list # 如果显示下列信息,则已配置完成。 global.index-url='http://mirrors.cloud.aliyuncs.com/pypi/simple/'
Windows
您可以在%USERPROFILE%\pip
目录下创建pip.ini
文件,并将以下内容复制到该文件中。
[global]
index-url = http://mirrors.cloud.aliyuncs.com/pypi/simple/
相关文档
关于SDK的高阶配置,例如代理配置、超时配置等,请参见进阶配置。
如何创建AK,请参见创建AccessKey。