服务端SDK

下载地址

ABFS Java SDK 让 Java 开发人员可以非常方便地使用 Java 程序操作特征存储引擎服务。开发者可以直接使用 Maven依赖添加SDK,也可以下载包到本地。目前,SDK 支持 J2SE 8.0 及以上版本。

下载地址

使用步骤

为快速开始使用 ABFS Java SDK,请按照如下步骤进行。

步骤1 创建阿里云账号

具体方法请参考 阿里云账号注册流程。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。

步骤2 获取ABFS访问密钥

点击【实例详情】,使用在购买页面设置到的用户名和密码访问ABFS引擎。

密钥

步骤3 安装 JAVA 开发环境

ABFS Java SDK 支持 J2SE 8.0 及以上的 Java 运行环境,您可以从 Java 官方网站 下载并按说明安装 Java 开发环境。

步骤4 安装 JAVA SDK

推荐使用 Apache Maven 获取最新版本的 SDK,您可以添加如下配置到您的 Maven 项目。

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-sdk-abfs</artifactId>
    <version>{lastest-sdk-version}</version>
</dependency>

步骤5 开始使用SDK

使用 ABFS Java SDK 的主要步骤:

  1. 配置初始化参数并构建Client实例,除了阿里云账号密码以外,您还需要设定 srcendpoint

  2. 构建查询或更新的 Query

  3. 调用同步或异步接口发起查询、更新及删除请求并处理应答或异常

配置参数

参数说明

参数

类型

描述

src

String

含义:用户自己定义的场景名称

功能:统计用户查询来源的指标标识,便于故障排查的快速定位

endpoint

String

查询、更新服务的Endpoint

userName

String

经过授权的云账号userName

userPasswd

String

经过授权的云账号userPasswd

maxConnPerRoute

int

与服务端单机 http 的最大连接数,建议值8

maxConnTotal

int

与服务端 http 的最大总连接数,建议值2000

如果有连接数超过最大值的报错,可再适当放大

connectionRequestTimeout

int

查询超时时间,单位毫秒

socketTimeout

int

netty 参数,与connectionRequestTimeout保持一致即可

connectTimeout

int

netty 参数,与connectionRequestTimeout保持一致即可

参数初始化

  • 为了增加连接池的复用,建议不要多次调用createABFSClient,尽量使用同一个client对象。

public ABFSClient createABFSClient(String src, String endpoint, String userName, String userPasswd) {
    ABFSClientBuilder builder = ABFSClientBuilder.create();
    builder.setSocketTimeout(100);
    builder.setConnectTimeout(100);
    builder.setConnectionRequestTimeout(100);
    builder.setMaxConnTotal(2000);
    builder.setMaxConnPerRoute(20);
    return builder.build(src, endpoint, userName, userPasswd);
}
ABFSClient client = createABFSClient("your_src_name","your_endpoint", "your_user_name","your_user_passwd");
  • 基于 spring 配置的访问,请使用 abfsClientWrap 类来发起查询/更新的请求

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns="http://www.springframework.org/schema/beans"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
        <bean id="abfsClientWrap" class="com.taobao.abfs.client.core.ABFSClientWrap"
              init-method="init" destroy-method="close">
            <property name="src" value="your_src_name"></property>
            <property name="endpoint" value="your_endpoint"></property>
            <property name="userName" value="your_user_name"></property>
            <property name="userPasswd" value="your_user_passwd"></property>
            <property name="builder">
                <ref local="builder"/>
            </property>
        </bean>
    
        <bean id="builder" class="com.taobao.abfs.client.core.ABFSClientBuilder">
            <property name="maxConnTotal" value="2000"></property>
            <property name="maxConnPerRoute" value="20"></property>
            <property name="socketTimeout" value="100"></property>
            <property name="connectTimeout" value="100"></property>
            <property name="connectionRequestTimeout" value="100"></property>
        </bean>
    </beans>

查询、更新与删除数据

查询数据的Query构造及示例代码,详见:PG语法查询

更新与删除数据的Query构造及示例代码, 详见:PG语法更新与删除