You need to enable JavaScript to run this app.
导航
使用 Java SDK
最近更新时间:2025.03.26 15:21:25首次发布时间:2025.03.26 14:45:32
我的收藏
有用
有用
无用
无用

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

下载与安装

前提条件

需要使用 Java JDK 1.7 或以上版本。更多详情,请参见 Java Downloads

说明

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

SDK 下载地址

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

安装 SDK

配置 Maven 项目依赖。新建一个 Maven 项目,并在项目目录下的 pom.xml 中添加以下设置引入服务依赖。引入依赖后,Maven 项目管理工具会自动下载相关 JAR 包。

说明

如果您的 Java JDK 版本为 JDK 9 或以上版本,还需要额外添加 javax.annotation-api 依赖,请在 pom.xml 中添加以下内容。

<dependency>
  <groupId>javax.annotation</groupId>
  <artifactId>javax.annotation-api</artifactId>
  <version>1.3.2</version>
</dependency>
<dependency>
  <groupId>com.volcengine</groupId>
  <artifactId>volcengine-java-sdk-rdsmysqlv2</artifactId>
  <version>0.1.157</version>
</dependency>

初始化客户端

前提条件

  • 已注册火山引擎账号并完成实名认证。具体步骤,请参见账号注册实名认证

  • 已获取账号的 Access Key ID(简称 AK)和 Secret Access Key(简称 SK)信息,获取方法请参见查看 AKSK 信息

  • 已获取云数据库 PostgreSQL 版支持的 Region,请参见服务地址

  • 已下载并安装云数据库 PostgreSQL 版 Java SDK。具体操作步骤,请参见下载与安装

初始化客户端

使用以下代码初始化客户端。

package org.example;

import com.volcengine.*;
import com.volcengine.rdsmysqlv2.RdsMysqlV2Api;
import com.volcengine.rdsmysqlv2.model.DescribeDBInstanceDetailRequest;
import com.volcengine.rdsmysqlv2.model.DescribeDBInstanceDetailResponse;
import com.volcengine.sign.Credentials;

public class Main {// 设置 AKSK 验证信息及 Regionpublic static String ak = "Your AK";public static String sk = "Your SK";public static String region = "Your Region";
// 创建一个 RDS MySQL SDK 客户端,后续可以利用此客户端调用 API 执行任务请求public static ApiClient apiClient = new ApiClient()
            .setCredentials(Credentials.getCredentials(ak, sk))
            .setRegion(region);public static RdsMysqlV2Api rdsmysqlv2api = new RdsMysqlV2Api(apiClient);
}
java

代码示例

请求超时时间设置

使用 SDK 调用 MySQL 接口时,默认无超时时间限制。您可以在发起接口调用请求时,在代码的最后加上 _request_timeout 参数来指定请求的超时时间(单位:秒),若未在该时间内完成,请求即会终止并报超时错误。例如,您可以在调用 DescribeDBInstances 接口时,通过以下代码将超时时间设置为 10 秒。

public static ApiClient apiClient = new ApiClient()
        .setCredentials(Credentials.getCredentials(ak,sk))
        .setRegion(region)
        .setConnectTimeout(10);
java

创建 PostgreSQL 实例

关于下述 SDK 代码中所使用参数的定义、取值范围等信息,请参见 CreateDBInstances

package org.example;

import com.volcengine.*;
import com.volcengine.sign.Credentials;
import com.volcengine.rdspostgresql.RdsPostgresqlApi;
import com.volcengine.rdspostgresql.model.*;
import java.util.ArrayList;
import java.util.List;

public class Main {
    // 设置 AKSK 验证信息及 Region
    public static String ak = "Your AK";
    public static String sk = "Your SK";
    public static String region = "Your Region";
    public static String host = "Your Host";
    // 创建一个 RDS PostgreSQL SDK 客户端,后续可以利用此客户端调用 API 执行任务请求
    public static ApiClient apiClient = new ApiClient()
            .setCredentials(Credentials.getCredentials(ak, sk))
            .setRegion(region)
            .setEndpoint(host)
            .setConnectTimeout(10);
    public static RdsPostgresqlApi rdsPostgresql = new RdsPostgresqlApi(apiClient);
    
    // 创建一个接口入参,并根据需要调用接口的参数说明配置来设置接口入参
    public static void main(String[] args) throws Exception {
        List<NodeInfoForCreateDBInstanceInput> nodesInfo = new ArrayList<>();
        NodeInfoForCreateDBInstanceInput primaryNodeInfo = new NodeInfoForCreateDBInstanceInput();
        primaryNodeInfo.setNodeType("Primary");
        primaryNodeInfo.setZoneId("cn-beijing-c");
        primaryNodeInfo.setNodeSpec("rds.postgres.1c2g");
        NodeInfoForCreateDBInstanceInput secondaryNodeInfo = new NodeInfoForCreateDBInstanceInput();
        secondaryNodeInfo.setNodeType("Secondary");
        secondaryNodeInfo.setZoneId("cn-beijing-c");
        secondaryNodeInfo.setNodeSpec("rds.postgres.1c2g");
        nodesInfo.add(primaryNodeInfo);
        nodesInfo.add(secondaryNodeInfo);
        
        ChargeInfoForCreateDBInstanceInput chargeInfo = new ChargeInfoForCreateDBInstanceInput();
        chargeInfo.setChargeType("PostPaid");
        
        CreateDBInstanceRequest request = new CreateDBInstanceRequest();
        request.setInstanceName("pg-test-sdk-java");
        request.setDbEngineVersion("PostgreSQL_12");
        request.setStorageType("LocalSSD");
        request.setStorageSpace(30);
        request.setVpcId("vpc-2bzo8w6m87v282dx0eemg****");
        request.setSubnetId("subnet-2d6b6byrhtts058ozfenq****");
        request.setNodeInfo(nodesInfo);
        request.setChargeInfo(chargeInfo);
        
        // 调用接口完成接口所对应的操作
        try {
            CreateDBInstanceResponse response = rdsPostgresql.createDBInstance(request);
            System.out.println(response);
        } catch (ApiException e) {
            System.out.println(e.getResponseBody());
        }
    }
}

本示例中的参数说明如下表所示。

配置项说明取值
DBEngineVersion兼容版本。PostgreSQL_12

NodeInfo

实例规格配置。

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

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

ChargeInfo

计费类型。

{
"ChargeType": "PostPaid"
}

查询 PostgreSQL 实例信息

关于下述 SDK 请求中所使用的参数的定义、取值范围等信息,请参见 DescribeDBInstanceDetail

package org.example;
import com.volcengine.*;
import com.volcengine.sign.Credentials;
import com.volcengine.rdspostgresql.RdsPostgresqlApi;
import com.volcengine.rdspostgresql.model.*;

public class Main {
    // 设置 AKSK 验证信息及 Region
    public static String ak = "Your AK";
    public static String sk = "Your SK";
    public static String region = "Your Region";
    public static String host = "Your Host";
    // 创建一个 RDS PostgreSQL SDK 客户端,后续可以利用此客户端调用 API 执行任务请求
    public static ApiClient apiClient = new ApiClient()
            .setCredentials(Credentials.getCredentials(ak, sk))
            .setRegion(region)
            .setEndpoint(host)
            .setConnectTimeout(10);
    public static RdsPostgresqlApi rdsPostgresql = new RdsPostgresqlApi(apiClient);

    // 创建一个接口入参,并根据需要调用接口的参数说明配置来设置接口入参
    public static void main(String[] args) throws Exception {
        DescribeDBInstanceDetailRequest request = new DescribeDBInstanceDetailRequest();
        // 调用接口完成接口所对应的操作
        try {
            DescribeDBInstanceDetailResponse response = rdsPostgresql.describeDBInstanceDetail(request);
            System.out.println(response);
        } catch (ApiException e) {
            System.out.println(e.getResponseBody());
        }
    }
}