Ks3Client 是KS3的Java客户端,用于管理存储空间和文件等KS3资源。使用Java SDK发起KS3请求,您需要初始化一个Ks3Client实例,并根据需要修改Ks3ClientConfig的默认配置项。
2. 进入控制台, 获取AccessKeyID 、AccessKeySecret
新建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 = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建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);
SDK使用commons-logging
<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
引用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>
在KS3中,用户操作的基本数据单元是Object。单个Object允许存储0~48.8TB的数据。 Object 包含key和data。其中,key是Object的名字;data是Object 的数据。key为UTF-8编码,且编码后的长度不得超过1024个字符。
即Object的名字,key为UTF-8编码,且编码后的长度不得超过1024个字符。Key中可以带有斜杠,当Key中带有斜杠的时候,将会自动在控制台里组织成目录结构。
其他术语请参考概念与术语
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!