批量获取文件列表
目前存储控制台不支持直接获获取文件列表
七牛提供如下解决方案:
-
官方服务端SDK,调用各个语言SDK或者API获取文件列表,
-
命令行工具,利用qshell的listbucket或者listbucket2命令批量获取,优先推荐使用listbucket2获取列表,具体参数说明参考listbucket2说明文档。
使用经验
qshell 获取文件列表
由于qshell是一个脚本命令行工具,所以需要在cmd或者终端中运行,mac与linux系统会经常使用到终端,下载合适版本到本地解压,直接chmod +x qshell 即可执行命令行。
但是如果您需要使用windows操作系统的话,可能您对cmd不是那么熟悉,强列推荐参考这里
windows环境下安装qshell教程
linux 和 mac 的话,直接在终端中执行
listbucket2
命令用于获取文件列表,可以根据不同的需求拉取不同的文件列表
这里只列举几种常见的获取文件列表的需求,更多参数叠加使用,参考listbucket2参数文档
使用listbucket2前,必须先登录账号,使用qshell account 进行登录,如果已经登陆过,那么无需重复登录。ak sk 空间名称如果不了解是什么,可以阅读常见的关键参数
qshell account 您的ak 您的sk 空间名称
1.获取全部文件列表
qshell listbucket2 空间名称 -o 列表存放的本地文件名.txt
2.只获取文件名
qshell listbucket2 空间名称 --show-fields Key -o 列表存放的本地文件名.txt
3.获取指定前缀文件列表
比如想要获取前缀为 image文件夹的文件,通过 prefix
qshell listbucket2 空间名称 --prefix "iamge/" -o 列表存放的本地文件名.txt
4.获取指定时间范围内的文件列表
比如想要获取 2018-10-30 ~ 2018-11-03 之间上传的文件列表
qshell listbucket2 --start 2018-10-30 --end 2018-11-03 空间名称 -o 列表存放的本地文件名.txt
5.获取指定文件类型的文件列表
比如想要获取 空间内的低频文件列表
file-types参上个月:根据列举前缀列举整个空间,然后从中筛选出满足七牛存储类型的文件;配置多个存储类型时中间用逗号隔开(eg: 1,2,3);0:普通存储,1:低频存储,2:归档存储,3:深度归档存储,4:归档直读存储。
qshell listbucket2 空间名称 --file-types 2 -o 列表存放的本地文件名.txt
SDK
以java
java为列,参考 https://developer.qiniu.com/kodo/1239/java#rs-list ,可以将列表信息根据需求自定义捕获输出即可