如何映射Artifactory中最大的文件\文件夹
问题描述:
在我的mvn回购中映射最多的存储重量部分是很难的。 我怀疑我的大部分空间都被不必要的工件或快照占用。如何映射Artifactory中最大的文件文件夹
如何退回Artifactory(Maven回购)中所有文件夹的排序列表(从大到小)?
我看了Jfrog api和cli指南,但无法找到直截了当的答案。
答
您可以使用Artifactory的的AQL让你以后。 例如,让所有项目在一个仓库中,在那里创造了超过30天前,由尺寸下降(磁盘空间)分类:
items.find(
{
"repo":"my-local-repo",
"$or":[
{
"$and":[
{
"created":{"$before":"30d"}
}
]
}
]
}
).sort({"$desc" : ["size"]})
您可以使用Artifactory的的REST API发送您的AQL查询。 您可以阅读更多关于AQL here的信息,这是一个“调谐”您的查询,以查找您的信息。
注意:虽然您可以在CLI中使用AQL,但CLI的AQL查询目前不支持排序,因此请使用REST API。
HTH, 或
答
我想出了small python script这确实产生了这样一个列表。
例子:
python ./arti_parse.py -r www.artifactory.mycompany.com/artifactory/api/storage/libs-snapshot-local?list&deep=1&listFolders=1&mdTimestamps=1 -u myuser -p mypass
将产生以下的输出:
-- Some output omitted -- com/mycompany/tools/platform - 64.8GiB (Total: 420.9GiB) com/mycompany/tools/ba - 71.2GiB (Total: 492.1GiB) com/mycompany/common/server - 115.4GiB (Total: 607.5GiB) com/mycompany/common/client - 169.7GiB (Total: 777.2GiB) com/mycompany/common/Automation - 295.4GiB (Total: 1.0TiB)
在文档中没有找到任何示例。应该如何构造REST API,哪种方法?标题/正文应该是什么样子? 你介意包含例子(curl/python/java),以便我可以接受你的答案。 (我的解决方案正在工作,你的看起来更优雅,但我想在验收之前验证它正在工作) – Vano
1. REST API文档在这里 - https://www.jfrog.com/confluence/display/RTF/Artifactory+REST + API#ArtifactoryRESTAPI-SEARCHES。头是一个简单的身份验证头,如此处所述 - https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Authentication。帖子的主体是我在答复中提供的JSON。 2.现在您可以使用JFrog的CLI与SORT和LIMIT,这可能会更容易使用,如此处所述 - https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+ Artifactory#CLIforJFrogArtifactory-SearchingFiles –
下面是所有上述的卷曲示例:curl -X POST -u MyUser:MyPassword -H“content-type:text/plain”-d'items.find({“repo”:“我的本地回购“,”$或“:[{”$和“:[{”created“:{”$ before“:”30d“}}]}]})。sort({”$ desc“: [“size”]})。limit(3)'http:// myartifactoryserver:8081/artifactory/api/search/aql –