本文介绍云数据库 PostgreSQL 版 Python SDK 的下载、安装与初始化客户端的相关信息。
已安装 Python 2.7 或以上版本。
说明
您可以执行 python --version
命令检查当前 Python 的版本。
云数据库 PostgreSQL 版的 Python SDK 源码地址,请参见 PostgreSQL Python SDK。
您可以使用以下任意一种方式安装 SDK:
通过 pip 安装 SDK
pip install volcengine-python-sdk==version_num
通过 Setuptools 使用 setup.py 安装。
python setup.py install --user
说明
可使用sudo python setup.py install
命令为所有用户安装。
如果已经安装过 SDK,可使用如下命令升级。
pip install --upgrade volcengine
PostgreSQL Python 客户端提供了一系列接口与 PostgreSQL 服务进行交互,用来管理 PostgreSQL 数据库资源。您需要先初始化 PostgreSQL Python 客户端,才可以向 PostgreSQL 服务发送 HTTP/HTTPS 请求。
已获取账号的 Access Key ID(简称 AK)和 Secret Access Key(简称 SK)信息。具体操作,请参见查看 AKSK 信息。
已获取云数据库 PostgreSQL 版支持的 Region,请参见服务地址。
已下载并安装云数据库 PostgreSQL 版 Python SDK。具体操作步骤,请参见下载与安装。
使用如下代码初始化客户端。
import volcenginesdkcore import volcenginesdkrdspostgresql as pg from volcenginesdkcore.rest import ApiException if __name__ == "__main__": configuration = volcenginesdkcore.Configuration() # 设置 AKSK 验证信息及 Region configuration.ak = "Your AK" configuration.sk = "Your SK" configuration.region = "Your Region" try: # 创建 PostgreSQL SDK 客户端,接口调用均需要通过此客户端执行 api_instance = pg.RDSPOSTGRESQLApi(volcenginesdkcore.ApiClient(configuration)) except ApiException as e: print("Exception: %s\n" % e)
使用 SDK 调用 PostgreSQL 接口时,默认无超时时间限制。您可以在发起接口调用请求时,在代码的最后加上 _request_timeout
参数指定请求的超时时间(单位:秒),若未在该时间内完成,请求会立即终止并报超时错误。例如,您可以在调用 DescribeDBInstances 接口时,通过以下代码设置超时时间为 10 秒。
resp = api_instance.describe_db_instances(pg.DescribeDBInstancesRequest( page_number=1, page_size=10, ), _request_timeout=10)
关于下述 SDK 代码中使用的参数的定义、取值范围等信息,请参见 CreateDBInstance。
from pprint import pprint import volcenginesdkcore import volcenginesdkrdspostgresql as pg from volcenginesdkcore.rest import ApiException if __name__ == "__main__": configuration = volcenginesdkcore.Configuration() configuration.ak = "Your AK" configuration.sk = "Your SK" configuration.region = "Your Region" try: api_instance = pg.RDSPOSTGRESQLApi(volcenginesdkcore.ApiClient(configuration)) resp = api_instance.create_db_instance(pg.CreateDBInstanceRequest( db_engine_version="PostgreSQL_12", node_info=[ pg.NodeInfoForCreateDBInstanceInput( zone_id="cn-beijing-a", node_type="Primary", node_spec="rds.postgres.1c2g", node_operate_type="Create" ), pg.NodeInfoForCreateDBInstanceInput( zone_id="cn-beijing-a", node_type="Secondary", node_spec="rds.postgres.1c2g", node_operate_type="Create" ), ], storage_type="LocalSSD", storage_space=20, vpc_id="vpc-2bzo8w6m87v282dx0eemg****", subnet_id="subnet-2d6b6byrhtts058ozfenq****", charge_info=pg.ChargeInfoForCreateDBInstanceInput(charge_type="PostPaid"), instance_name="testname", )) pprint(resp) except ApiException as e: print("Exception: %s\n" % e)
本示例中参数配置如下表所示。
配置项 | 说明 | 取值 |
---|---|---|
DBEngineVersion | 实例版本。 | PostgreSQL_12 |
NodeInfo | 实例规格配置。 | [{ |
StorageType | 实例存储类型。 | LocalSSD |
StorageSpace | 实例存储空间。 | 20 |
VpcId | 专有网络(VPC) ID。 | vpc-2bzo8w6m87v282dx0eemg**** |
SubnetId | 子网 ID。 | subnet-2d6b6byrhtts058ozfenq**** |
InstanceName | 实例名称。 | testname |
ChargeInfo | 计费类型。 | { |
from pprint import pprint import volcenginesdkcore import volcenginesdkrdspostgresql as pg from volcenginesdkcore.rest import ApiException if __name__ == "__main__": configuration = volcenginesdkcore.Configuration() configuration.ak = "Your AK" configuration.sk = "Your SK" configuration.region = "Your Region" try: # 创建 PostgreSQL SDK 客户端,接口调用均需要通过此客户端执行 api_instance = pg.RDSPOSTGRESQLApi(volcenginesdkcore.ApiClient(configuration)) resp = api_instance.describe_db_instance_detail(pg.DescribeDBInstanceDetailRequest( instance_id="Your InstanceId", )) print(resp) except ApiException as e: print("Exception: %s\n" % e)