我对Artifactory REST API的使用有疑问。一些指导将是有用的。查找/删除Artifactory中的单个工件 - 不是文件
我正在构建一个练习Artifactory的REST API的脚本。此脚本的目标是查找旧的工件,满足其他一些要求,然后删除它们。 (是不是每个Artifactory所有者最终都要构建其中一个?)
有一个记录的"Artifacts Not Downloaded Since",它返回一个文件列表。对于“工件”,我宁愿期待一些包含多个文件的概念(例如Maven:一个POM和几个JAR)。它只返回单个文件的事实让我现在剥离文件名,然后删除整个文件夹。
- 查询返回:https://.../repository/api/storage/libs-snapshot-local/com/x/y/1.0.0-SNAPSHOT/y-1.0.0-SNAPSHOT.jar
- 我剥:https://.../repository/api/storage/libs-snapshot-local/com/x/y/1.0.0-SNAPSHOT/
- 我删除该剥离文件夹。
我担心该文件夹中包含其他文件(POM文件或该文件夹中的其他文件),该文件最近下载过,但现在仍然被删除。
为什么REST API在工件级别(GAV级别)上不报告这种东西?
对于Docker存储库来说,一个相关的问题,在所有考虑子容器时是否都没有“Downloadedloaded Since”?或者有没有一种方法可以用来删除标签,Artifactory会自动删除相关但未使用的图像/图层文件?
您的答案和链接的文章仍然在工件和文件之间混淆。但是,是的,你在哪里说“GAV级别”,这就是我想要与Artifactory交互的方式,我称之为“与** artifacts **交互”。但是,如果_files_真的是我所得到的,那么“未下载的文物”呼叫似乎很没用。 AQL似乎有同样的缺陷。也许唯一剩下的就是:获取“Artifacts Not Downloaded Since”,解析它们的文件夹URI,获取文件夹中的所有文件,查看是否有最近下载的文件,跳过。随着资源库的增长,这将非常低效。 –