如何在 Artifactory 中映射最大的 files\folders

How do I map the largest files\folders in Artifactory

通常很难在我的 mvn 存储库中映射存储量最大的部分。

我怀疑我的大部分 space 都被不必要的人工制品或快照占用了。

如何检索 Artifactory(Maven 存储库)中所有文件夹的排序列表(从大到小)?

我查看了 Jfrog api 和 cli 指南,但无法找到直接的答案。

我想出了 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)

您可以使用 Artifactory 的 AQL 来获得您想要的东西。 例如,获取存储库中 30 多天前创建的所有项目,按大小降序排序(磁盘 space):

    items.find(
{
            "repo":"my-local-repo",
            "$or":[
                {
                    "$and":[
                     {
                        "created":{"$before":"30d"}
                     }
                            ]
                }
                ]
    }
).sort({"$desc" : ["size"]})

您可以使用 Artifactory 的 REST api 发送您的 AQL 查询。 您可以阅读有关 AQL here 的更多信息,以及 "tune" 您的查询以找到您想要的内容。

注意:虽然您可以将 AQL 与 CLI 结合使用,但 CLI 的 AQL 查询目前不支持排序,因此请改用 REST API。

HTH, 或者