初始化SDK
更新时间 2025-09-28 10:53:47
最近更新时间: 2025-09-28 10:53:47
代码中的accessKey与secretKey是在媒体存储中创建用户后,系统分配给用户用于访问媒体存储的凭证。而 endpoint 是天翼云提供的服务端地址。
获取访问密钥
AccessKey(AK)和SecretAccessKey(SK)是用户访问媒体存储服务的密钥,密钥的管理和获取方式请查阅 天翼云媒体存储 密钥管理 。
获取Endpoint
EndPoint的获取方式请查阅天翼云媒体存储 基础信息查看。
新建Client
使用SDK功能前,需要新建Client,代码如下:
String accessKey = "<your-access-key>";
String secretKey = "<your-secret-access-key>";
String endPoint = "<your-endpoint>";
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
ClientConfiguration clientConfiguration = new ClientConfiguration();
EndpointConfiguration endpointConfiguration = new EndpointConfiguration(
endpoint, Regions.DEFAULT_REGION.getName());
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
//客户端设置
.withClientConfiguration(clientConfiguration)
//凭证设置
.withCredentials(new AWSStaticCredentialsProvider(credentials))
//endpoint设置
.withEndpointConfiguration(endpointConfiguration)
.build();如果需要修改客户端的一些默认配置,请在创建Client的时候使用withClientConfiguration方法传入ClientConfiguration实例,一部分示例设置代码如下:
ClientConfiguration clientConfiguration = new ClientConfiguration();
//设置client的最大HTTP连接数
clientConfiguration.setMaxConnections(50);
//设置Socket层超时时间
clientConfiguration.setSocketTimeout(50000);
//设置建立连接的超时时间
clientConfiguration.setConnectionTimeout(50000);ClientConguration是客户端的配置类,可配置代理、连接超时、最大连接等参数。主要参数如下:
| 参数 | 描述 | 方法 |
|---|---|---|
| maxConnections | 允许打开的最大HTTP连接数。默认为50 | ClientConguration.setMaxConnections |
| socketTimeout | Socket层传输数据的超时时间(单位:毫秒)。默认为50,000毫秒 | ClientConguration.setSocketTimeout |
| connectionTimeout | 建立连接的超时时间(单位:毫秒)。默认为50,000毫秒 | ClientConguration.setConnectionTimeout |
| requestTimeout | 等待请求完成的超时时间(单位:毫秒)。默认不超时 | ClientConguration.setRequestTimeout |
| clientExecutionTimeout | 客户端请求执行超时时间 (单位:毫秒)。默认不超时 | ClientConguration.setClientExecutionTimeout |
| maxErrorRetry | 请求失败后最大的重试次数。默认3次 | ClientConguration.setMaxErrorRetry |
| connectionMaxIdleMillis | 如果空闲时间超过此参数的设定值,则关闭连接(单位:毫秒)。默认为60,000毫秒 | ClientConguration.setConnectionMaxIdleMillis |
| signerOverride | 若需要使用v2签名,可以设置为"S3SignerType";若需要使用v4签名,可以设置为"AWSS3V4SignerType"。默认为v4签名 | ClientConguration.setSignerOverride |