腾讯云对象存储快速入门

点击量:31

腾讯云的对象存储快速入门,主要介绍对客户端的创建,对对象的增删改查。

对象存储

腾讯云版本 快速入门


初始化客户端

COSClient

COSClient是调用 COS API 接口的对象。在生成一个COSClient实例后可反复使用,线程安全。最后程序或服务退出时,关闭客户端即可。

// 1 传入获取到的临时密钥 (tmpSecretId, tmpSecretKey, sessionToken)
BasicSessionCredentials cred = new BasicSessionCredentials("a-demo-secretId", "a-demo-secretKey", "a-demo-session-token");
// 2 设置 bucket 的区域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
// clientConfig 中包含了设置 region, https(默认http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
// 3 生成 cos 客户端
COSClient cosClient = new COSClient(cred, clientConfig);
// bucket 的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
String bucketName = "mybucket-1251668577";

上传文件

将本地文件或者已知长度的输入流内容上传到 COS,适用于20M以下图片类小文件上传,最大支持上传不超过5GB文件。5GB以上的文件必须使用分块上传或高级 API 上传。

  • 若本地文件大部分在20M以上, 建议您参考使用接口文档的高级 API 进行上传。

  • 若 COS 上已存在同样 Key 的对象,上传时则会进行覆盖。

  • 若要创建目录对象,因为在对象存储中不存在目录,请您参考 常见问题 Java SDK 部分。

  • 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpg, 详情参考 对象键 的说明。

  • 上传之后,您可以用同样的 key,调用 GetObject 接口将文件下载到本地,也可以生成预签名链接(下载请指定 method 为 GET,具体接口说明见 接口文档),分享到其他端来进行下载。但注意如果您的文件是私有读权限,那么预签名链接只有一定的有效期。

File localFile = new File("src/test/resources/len5M.txt");
// 指定要上传到的存储桶
String bucketName = "demoBucket-1250000000";
// 指定要上传到 COS 上对象键
String key = "upload_single_demo.txt";

PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);

下载文件

// 指定要下载到的本地路径
File downFile = new File("src/test/resources/mydown.txt");
// 指定文件所在的存储桶
String bucketName = "demoBucket-1250000000";
// 指定文件在 COS 上的对象键
String key = "upload_single_demo.txt";

GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
ObjectMetadata downObjectMeta = cosClient.getObject(getObjectRequest, downFile);

删除文件

// 指定文件所在的存储桶
String bucketName = "demoBucket-1250000000";
// 指定文件在 COS 上的对象键
String key = "upload_single_demo.txt";

cosClient.deleteObject(bucketName, key);

关闭客户端

// 关闭客户端(关闭后台线程)
cosClient.shutdown();

相关依赖

<dependency>
         <groupId>com.qcloud</groupId>
         <artifactId>cos_api</artifactId>
         <version>5.5.3</version>
</dependency>


感谢您的阅读
文章由作者个人总结,欢迎指出文章错误



上一篇:SQL基本操作

下一篇:Dubbo分布式框架相关配置