如何通过API获取Artifactory仓库内文件夹的大小?
如何通过API查询Artifactory仓库中文件夹的大小
可以通过Artifactory的REST API实现文件夹大小查询,虽然官方文档未单独提及该功能,但可通过现有接口组合完成。
方法一:使用存储信息API(非递归)
调用GET /api/storage/{repoKey}/{folderPath}接口,响应中的size字段会返回该文件夹下直接文件的大小总和(不含子文件夹内的文件)。
示例请求:
curl -u 用户名:密码 "https://你的Artifactory地址/api/storage/目标仓库/目标文件夹路径"
方法二:使用AQL查询(递归统计)
通过Artifactory查询语言(AQL)编写查询语句,递归统计目标文件夹下所有文件的大小总和。
示例AQL查询语句:
items.find({ "repo": "目标仓库", "path": {"$match": "目标文件夹路径/*"}, "type": "file" }).include("size").sum("size")
对应的curl请求:
curl -u 用户名:密码 -X POST "https://你的Artifactory地址/api/search/aql" -H "Content-Type: text/plain" -d ' items.find({ "repo": "目标仓库", "path": {"$match": "目标文件夹路径/*"}, "type": "file" }).include("size").sum("size") '
注意事项
- 替换示例中的
你的Artifactory地址、用户名、密码、目标仓库、目标文件夹路径为实际信息 - 若使用API密钥认证,可将
用户名:密码替换为apiKey:你的API密钥 - 方法一适合快速获取直接文件大小,方法二适合统计包含子文件夹的全部文件总大小
内容的提问来源于stack exchange,提问作者Andrey Molfly
相关产品推荐
相关产品推荐

