You need to enable JavaScript to run this app.
导航

使用 Python SDK

最近更新时间2024.04.28 13:20:21

首次发布时间2024.04.28 11:36:22

本文介绍云数据库 PostgreSQL 版 Python SDK 的下载、安装与初始化客户端的相关信息。

下载与安装

前提条件

已安装 Python 2.7 或以上版本。

说明

您可以执行 python --version 命令检查当前 Python 的版本。

SDK 下载地址

云数据库 PostgreSQL 版的 Python SDK 源码地址,请参见 PostgreSQL Python SDK

安装 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)

创建 PostgreSQL 实例

关于下述 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

实例规格配置。

[{
"ZoneId": "cn-beijing-a",
"NodeSpec": "rds.postgres.1c2g",
"NodeType": "Primary",
"NodeOperateType": "Create"
}, {
"ZoneId": "cn-beijing-a",
"NodeSpec": "rds.postgres.1c2g",
"NodeType": "Secondary",
"NodeOperateType": "Create"
}]

StorageType实例存储类型。LocalSSD
StorageSpace实例存储空间。20
VpcId专有网络(VPC) ID。vpc-2bzo8w6m87v282dx0eemg****
SubnetId子网 ID。subnet-2d6b6byrhtts058ozfenq****
InstanceName实例名称。testname

ChargeInfo

计费类型。

{
"ChargeType": "PostPaid"
}

查询 PostgreSQL 实例信息

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)