初始化

最近更新时间:2023-08-28 14:37:45

查看PDF

Ks3Client是KS3的Java客户端,用于管理存储空间和文件等KS3资源。使用Java SDK发起KS3请求,您需要初始化一个Ks3Client实例,并根据需要修改Ks3ClientConfig的默认配置项。

获取秘钥

1. 开通KS3服务,注册账号

2. 进入控制台,获取AccessKey 、SecretKey

新建Ks3Client

新建Ks3Client时,需要指定Endpoint。有关Endpoint的更多信息,请参见文档访问域名和数据中心自定义访问域名

以下代码用于新建Ks3Client。一个工程中可以有一个或多个Ks3Client,Ks3Client支持并发使用。

// yourEndpoint填写Bucket所在地域对应的Endpoint。以北京为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置Endpoint为自定义域名,同时设置domainMode为true。
String endpoint = "yourEndpoint";
// 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号进行API访问或日常运维,请登录https://uc.console.ksyun.com/pro/iam/#/user/list创建子账号。
String accessKeyId = "yourAccessKey";
String accessKeySecret = "yourSecretKey";
// 创建Ks3ClientConfig 实例。
Ks3ClientConfig config = new Ks3ClientConfig();
// 设置域名。
config.setEndpoint(endpoint); 
/** 
 * 设置domainMode。
 * true:表示以自定义域名访问。
 * false:表示以KS3的外网域名或内网域名访问,默认为false。
*/
config.setDomainMode(false);
// 设置通信协议,可选项Ks3ClientConfig.PROTOCOL.http、Ks3ClientConfig.PROTOCOL.https。
config.setProtocol(Ks3ClientConfig.PROTOCOL.http);
/**
 * false: (推荐)使用三级域名:{bucketName}.{endpoint}/{objectKey}的形式访问。
 * true:  使用二级域名:{endpoint}/{bucketName}/{objectKey}的形式访问。
 * 如果domainMode设置为true,则pathStyleAccess可忽略设置。
 */
config.setPathStyleAccess(false);
// 设置httpclient。
HttpClientConfig hconfig = new HttpClientConfig();
// 在HttpClientConfig中可以设置httpclient的相关属性,比如代理、超时、重试等。
config.setHttpClientConfig(hconfig);
// 创建Ks3Client实例。
Ks3 client = new Ks3Client(accessKeyId,accessKeySecret,config);                 

注意:如您的Bucket创建时间在2022年5月30日前,既可以使用二级域名访问也可以使用三级域名访问,如您的Bucket创建时间在2022年5月30日后,只能使用三级域名访问。

配置日志

SDK使用commons-logging

  • 使用log4j示例

1. 引用log4j相关jar包。

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.16</version>
</dependency>

2. 新建log4j.properties(如下为示例配置)。

log4j.logger.com.ksyun.ks3=DEBUG,stdout
log4j.logger.org.apache.http=DEBUG,stdout
log4j.logger.org.apache.http.wire=ERROR,stdout
log4j.addivity.org.apache=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%t]%C{1}.%M(%L) - %m%n
  • 使用logback示例

引用SDK的时候排除commons-logging,引用logback相关包(包括但不止jcl-over-slf4j)。

<dependency>
    <groupId>com.ksyun</groupId>
    <artifactId>ks3-kss-java-sdk</artifactId>
    <version>0.6.0</version>
    <exclusions>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.3</version>
</dependency>

常见术语介绍

Object(对象,文件)

在KS3中,用户操作的基本数据单元是Object。单个Object允许存储0~48.8TB的数据。 Object包含Key和Data。其中,Key是Object的名字;Data是Object的数据。

Key(文件名)

即Object的名字,Key为UTF-8编码,且编码后的长度不得超过1024个字符。Key中可以带有斜杠,当Key中带有斜杠的时候,将会自动在控制台里组织成目录结构。

其他术语请参考概念与术语

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈