前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【最佳实践】腾讯云COS删除文件和目录的各种方法

【最佳实践】腾讯云COS删除文件和目录的各种方法

原创
作者头像
拾荒者peanutchen
修改2019-12-21 23:13:07
6.6K0
修改2019-12-21 23:13:07
举报
文章被收录于专栏:陈鹏小课堂陈鹏小课堂

大家在使用COS存储的过程中,会遇到一个场景:出于各种各样的原因比如业务调整,需要清理COS当中的大量文件。腾讯云支持多种多样的清理方法,常见的方法如下:

  • 控制台手动删除
  • COSCMD命令行工具删除
  • 第三方工具
  • COSBrowser工具删除
  • api和sdk删除

下面就各个删除方法汇总介绍一下:

1、登录控制台进行删除

可参考官网文档

https://cloud.tencent.com/document/product/436/35247

https://cloud.tencent.com/document/product/436/13323

打开https://console.cloud.tencent.com/cos5/bucket页面,点击具体的bucket名称,进入存储桶界面

存储桶界面
存储桶界面

存储桶界面内可以根据需要执行不同的删除

某个bucket界面
某个bucket界面

ps:需要注意的是,如果选择清空存储桶,则执行完清空操作之前都不能退出页面,对于文件量很大删除较久的bucket不太适用,那么对于文件量很大的bucket,如何执行删除比较合适呢?请看接下来的另一个方式

2、使用COSCMD工具进行删除

COSCMD工具获取和使用介绍文档https://cloud.tencent.com/document/product/436/10976

按照文档安装好工具之后,建议编辑~/.cos.conf文件设置好秘钥和bucket信息(如下),使用coscmd delete即可

COSCMD配置文件
COSCMD配置文件

删除单个文件

#命令格式
coscmd delete <cospath>
#操作示例
coscmd delete 123/test.jpg

删除目录

#命令格式
coscmd delete -r <cospath>
#操作示例
coscmd delete -r /123/
coscmd delete -r /  该命令相当于清空bucket

ps:删除操作属于高危操作,数据删除后不可找回,建议先创建一个测试bucket测试验证之后再对线上bucket进行操作。COSCMD能实现的功能跟控制台提供的功能一样,但是作为用户来讲,可能会有更细致的删除需求,比如删除指定目录之外的其他所有文件,这个怎么实现呢?咱们来看一下另一种方法

3、使用aws的工具进行删除

腾讯云出于一些特殊原因,没有支持太多的删除方法,但是腾讯云兼容了aws的s3对于cos的操作,下面我们简单介绍下如何使用aws工具删除cos指定目录之外的文件(aws的s3删除操作参考https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html

1)首先需要自行安装aws的cli工具(可到aws官网获取),然后Shell 的配置文件脚本(这里以 ~/.bash_profile为例)中将aws安装目录添加到环境变量中,比如export PATH=~/.local/bin:$PATH,然后执行source ~/.bash_profile,然后使用腾讯云的ID和秘钥执行aws configure设置,然后修改~/.aws/credentials为下述格式(主要是把default改为qcloud)

[qcloud]
aws_access_key_id = 腾讯云api秘钥的SecretId
aws_secret_access_key = 腾讯云api秘钥的SecretKey

2)使用命令行执行删除:aws --profile=qcloud --endpoint-url=http://cos.此处填区域.myqcloud.com s3 rm s3://此处填bucketname-appid/ ,后边加需要的参数(比如aws --profile=qcloud --endpoint-url=http://cos.ap-chengdu.myqcloud.com s3 rm s3://test1-1256699999/ --recursive --exclude "123/*" --exclude "234/*" 表示删除ap-chengdu的1256699999账号的test1这个bucket下123和234这两个目录之外的所有文件和目录),执行效果如下

awscli执行效果图
awscli执行效果图

ps:由于是第三方的awscli工具,存在一定的不可控因素,进行删除操作之前,建议先在测试用的bucket进行测试,确认无误之后再对线上bucket进行操作

4、使用COSBrowser工具进行删除

COSBrowser工具比较简单,只需下载客户端登录执行操作即可,相关操作可以参考腾讯云官网文档介绍https://cloud.tencent.com/document/product/436/11366

ps:当bucket内文件和目录数量很大的时候,COSBrowser工具可能需要手工点选很多次,还是推荐使用命令行工具进行处理

5、使用api和sdk进行删除

可参考官网文档介绍

api直达https://cloud.tencent.com/document/product/436/7751

sdk直达https://cloud.tencent.com/document/product/436/6474

最新版的api和sdk,没有像旧版一样提供专门的各种目录操作,比较适合用于文件粒度的操作场景。

总体来讲,执行目录删除比较便捷的方案是使用命令行工具,文件和目录数量较小的时候可以使用控制台或者COSBrowser工具。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档