腾讯云国际站对象存储(Cloud Object Storage,COS)提供了 AWS S3 兼容的 API,因此当用户的数据从 S3 迁移到 COS 之后,只需要进行简单的配置修改,即可让客户端应用轻松兼容 COS 服务。下面unirech小编主要介绍不同开发平台的 S3 SDK 的适配步骤。在完成添加适配步骤后,就可以使用 S3 SDK 的接口来访问 COS 上的文件了。
准备工作
1.已关联unirech注册腾讯云国际站账号,关联注册量大优惠且可以有多重优势,无-需-绑-定PayPal,代-充-值腾讯云国际站、阿里云国际站、AWS亚马逊云、GCP谷歌云,官方授权经销商!靠谱!T-G 飞机 @unirech_dingding
并且从访问管理控制台上获取了腾讯云密钥 SecretID 与 SecretKey。
2.已有一个集成了 S3 SDK,并能正常运行的客户端应用。
Android
下面以 AWS Android SDK 2.14.2 版本为例,介绍如何适配以便访问 COS 服务。对于终端访问 COS,将永久密钥放到客户端代码中有极大的泄露风险,我们建议您接入 STS 服务获取临时密钥,详情可以参加腾讯云国际站的临时密钥生成及使用指引。
初始化
初始化实例时,您需要设置临时密钥提供者和 Endpoint,以存储桶所在地域是ap-guangzhou
为例:
AmazonS3Client s3 = new AmazonS3Client(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
// 这里后台请求 STS 得到临时密钥信息
return new BasicSessionCredentials(
"<TempSecretID>", "<TempSecretKey>", "<STSSessionToken>"
);
}
@Override
public void refresh() {
//
}
});
s3.setEndpoint("cos.ap-guangzhou.myqcloud.com");
iOS
以 AWS iOS SDK 2.10.2 版本为例,介绍如何适配以便访问 COS 服务。对于终端访问 COS,将永久密钥放到客户端代码中有极大的泄露风险,我们建议您接入 STS 服务获取临时密钥,详情可以参加腾讯云国际站的临时密钥生成及使用指引。
1. 实现 AWSCredentialsProvider 协议
-(AWSTask<AWSCredentials *> *)credentials{
// 这里后台请求 STS 得到临时密钥信息
AWSCredentials *credential = [[AWSCredentials alloc]initWithAccessKey:@"<TempSecretID>" secretKey:@"<TempSecretKey>" sessionKey:@"<STSSessionToken>" expiration:[NS