如何使用AQL (Artifactory Query Language)从档案中获取数据

伊诺崔
2023-01-22 11:09

Artifactory具有默认启用的功能,称为主要领域,可以帮助您在Artifactory中搜索数据。其中一个域叫做存档,允许您浏览存档工件的内容(并且可以通过编辑归档中的mime类型来更改mimetypes.xml文件,该文件位于ARTIFACTORY_HOME / etc /美元).

这里有一个例子:假设您想从Archive内部获取一个文件。而不是下载存档在其整体中,只需在其内容中搜索你想要的文件要查看是否存在,请执行以下操作:curl -XPOST -u /artifactory/api/search/aql -H "Content-type: text/plain" -d
“archive.entries.find (
{
“archive.item。回购”:{" $ eq”:“<回购名称> "},
“archive.item.name”:{" $ eq”:“<档案名称>”}

)”
如果找到了要查找的文件,请使用档案入口下载REST API。

然而,当主域为存档,非管理员用户将不能执行此AQL搜索。使用上面的例子,如果一个非管理员用户试图执行archive.entries.find输出将不会产生任何结果:{
"results": [],
"range": {
"start_pos": 0,
"end_pos": 0,
"total": 0

在这种情况下,非admin用户将必须使用项目主域和添加包括标签,获取类似信息:curl -XPOST -u /artifactory/api/search/aql -H "Content-type: text/plain" -d 'items。找到({"名称":{" $ eq”:“<档案名称>”}})其中包括(“archive.entry”)