欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 腾讯云COS分布式对象存储

腾讯云COS分布式对象存储

2024/10/24 8:20:00 来源:https://blog.csdn.net/weixin_74144099/article/details/140190760  浏览:    关键词:腾讯云COS分布式对象存储

腾讯云COS分布式对象存储

腾讯云对象存储(Cloud Object Storage,COS)是腾讯云提供的一种用于存储海量文件的分布式存储服务。

腾讯云 COS 适用于多种场景,如静态网站托管、大规模数据备份和归档、多媒体存储和处理、移动应用数据存储等。

存储类型

标准存储类型高持久、高可用、高性能的对象存储服务,支持频繁的数据访问。是各种社交、分享类的图片、音视频应用、大型网站、大数据分析的合适选择。
低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率1到2次)。存储单价低于标准类型,适合各类移动应用、智能设备、企业数据的长期备份,支持实时数据访问。
归档存储类型适合需要长期保存(建议半年以上)的归档数据,在存储周期内极少被访问,数据进入到可读取状态需要1分钟的解冻时间。适合需要长期保存的档案数据、医疗影像、科学资料、影视素材。
冷归档存储类型适合需要超长时间存放的极冷数据。例如因合规要求需要长期留存的数据、大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等。

使用步骤

演示基于java代码上传图片

1)登录控制台,创建存储桶

网址:https://console.cloud.tencent.com/cos

请添加图片描述

2)创建子账号,给予编程访问权限

网址:https://console.cloud.tencent.com/cam/user/create?systemTygpe=FastCreateV2

请添加图片描述

创建完后保存好SecretIdSecretKey

3)项目中导入依赖

<!--腾讯云文件存储-->
<dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.213</version>
</dependency>

4)在application.yaml 中配置

tencent:cos:accessKeyId: your SecretIdaccessKeySecret: your SecretKeybucketName: your bucketName

5)使用配置类读取信息

@Configuration
@ConfigurationProperties("tencent.cos")
@Data
public class CosConfig {private String accessKeyId;private String accessKeySecret;private String bucketName;
}

6)创建客户端完成上传

@Service
@Slf4j
public class FileServiceImpl implements FileService {@Autowiredprivate CosConfig cosConfig;@Overridepublic void uploadImage(MultipartFile file) {String secretId = cosConfig.getAccessKeyId();String secretKey = cosConfig.getAccessKeySecret();String bucket = cosConfig.getBucketName();COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);// "ap-beijing" 为存储桶所在地区ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing"));// 创建客户端COSClient cosClient = new COSClient(cred, clientConfig);// 构建存储路径LocalDateTime now = LocalDateTime.now();DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");String time = now.format(dateTimeFormatter);// 加上uuid防止文件名重复String fileName = CommonUtils.getUUID() + "_" + file.getOriginalFilename();String path = time + "/" + fileName;try {// 上传文件PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, path, file.getInputStream(),new ObjectMetadata());cosClient.putObject(putObjectRequest);} catch (IOException e) {throw new RuntimeException(e);}finally {// 关闭客户端cosClient.shutdown();}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com