暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

腾讯云使用COSCLI删除对象存储里的文件

运维笔谈 2024-12-18
111

点击上方蓝字 ”运维笔谈” ,对话回复 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》PDF

最近有一批视频文件转码之后需要更新下对象存储里的内容,由于文件名没有修改,需要先把原先对象存储里的文件去删除。文件的数目比较多,web控制台上操作删除很明显不现实,好在有对应的 CDN url 列表可以罗列对象存储里文件位置。我查阅了腾讯的官方文档,发现 COSCLI 工具(公测)可以使用 rm 参数删除,这样我写个shell for循环就可以批量操作了。
COSCLI是一款腾讯云对象存储COS的客户端命令行工具,提供多种常用命令,我们可以使用简单的命令行指令实现对象批量上传、同步上传、同步下载、删除等操作。

一、安装COSCLI

COSCLI 是使用 Go 编写,所以我们可以直接下载一个命令文件,我们以Linux环境为例:

    #下载二进制的可执行文件
    wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux-amd64
    mv coscli-linux-amd64 coscli
    chmod +x coscli
    ./coscli --version
    复制

    备注各个环境的下载地址:

      # Mac-amd64:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-darwin-amd64
      # Mac-arm64:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-darwin-arm64
      # Linux-386:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux-386
      # Linux-amd64:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux-amd64
      # Linux-arm:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux-arm
      # Linux-arm64:
      wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux-arm64
      复制

      二、生成配置文件

      我们需要提前准备好一个有腾讯云COS权限的Secret ID和Secret Key。

      然后就可以使用./coscli config init 交互式的生成配置文件,生成的配置文件默认地址是当前home目录下的 ~/.cos.yaml。这是官网的配置示例参考:

        cos:
          base:
            secretid: XXXXXXXXXXXXXXX
            secretkey: XXXXXXXXXXXXXXXXX
            sessiontoken: ""
            protocol: https
          buckets:
          - name: examplebucket1-1250000000
            alias: bucket1
            region: ap-shanghai
            endpoint: cos.ap-shanghai.myqcloud.com
            ofs: false
          - name: examplebucket2-1250000000
            alias: bucket2
            region: ap-guangzhou
            endpoint: cos.ap-guangzhou.myqcloud.com
            ofs: false
        复制

        三、删除对象存储文件

        rm 子命令可以用来删除对象存储里的文件。

          ./coscli rm cos://<bucket-name>[/prefix/] [flag]
          复制

          cos://<bucket-name> 可以使用bucket的别名或者bucket的具体名称。比如:

          • 使用桶别名访问:cos://bucket-alias
          • 使用桶名称访问:cos://bucket-xx-1250000000

          接下来我们写一个简单的for循环就可以批量删除腾讯云对象存储COS里的文件了。

          参考文档:https://cloud.tencent.com/document/product/436/6242

          文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论