全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

初始化(Java)

最近更新时间:2024-01-04 14:06:31

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日后,只能使用三级域名访问。

  • 使用V 4.5.7,V 4.5.8,V 4.5.9版本的HTTP Client有可能发生预期外的403错误,请使用V 4.5.10及以上版本的HTTP Client。

配置日志

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中带有斜杠的时候,将会自动在控制台里组织成目录结构。

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

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈