如何开始使用AQL?
Artifactory Query Language (AQL)是一种有用的工具,用于查询存储在Artifactory中的信息,并通过构造更复杂的查询来回答更具体的用例,从而获得更具体的信息。
在这篇简短的文章中,我们将使用几个示例,以便更好地理解如何构造基本的AQL查询,以及以后如何在Artifactory中使用查询。
可以构造查询来处理某些域和字段在Artifactory。域将包括项目、构建、属性等。每个域都包含可以查询的字段,例如,对于“item”域,我们可以查询诸如“repo”、“name”、“created”、“modified”等字段。
例如,该查询将显示指定存储库中排名前10位的条目,按修改时间降序排序:
物品。找到({“回购”:“< repo_name > "})。Sort ({" $desc ": [" modified "]}).limit(10)
在2021年7月1日之后创建的构建,具有一个名为“许可证”的键的属性,该键的值是“LGPL”的变体:
构建。找到({"创建":{$ gt:“2021-07-01”},{”@artifactory。许可证":{" match ": " *LGPL* "}})
在workshop-docker-local存储库中,最近5天内创建的所有文件,且磁盘大小大于500:
物品。找到({“回购”:“workshop-docker-local”,“创建”:{“美元”:“5 d”},“大小”:{" $ gt ": " 500 "},“类型”:“文件”})
要在API调用中使用AQL查询,我们可以使用以下命令结构:curl -u
以上cURL查询的输出将类似于以下内容:{
“结果”:[{
"repo": "workshop-docker-local",
"path": ".",
"name": "repository.catalog",
"type": "file",
"size": 1034,
"created": "2021-06-16T15:47:10.806Z",
"created_by": "admin",
"modified": "2021-08-25 t8:21:12. 423z ",
modified_by: "admin",
"updated": " 2021-08-25t8:21:12. 453z "
}, {
"repo": "workshop-docker-local",
“asp/multi-arch-test/1.1.1-rc.1”,
"name": "list.manifest.json",
"type": "file",
"size": 741,
"created": "2021-08-25 t8:21:12. 390z ",
"created_by": "admin",
"modified": "2021-08-25 t8:21:12. 354z ",
modified_by: "admin",
"updated": "2021-08-25 t8:21:12. 391z "
}, {
"repo": "workshop-docker-local",
"path: "asp/multi-arch-test/1.1.1-rc.1-linux-arm64",
"name": "manifest.json",
"type": "file",
"size": 735,
"created": "2021-08-25 t8:21:12. 321z ",
"created_by": "admin",
"modified": "2021-08-25 t8:21:12. 296z ",
modified_by: "admin",
"updated": "2021-08-25 t8:21:12. 323z "
}, {
"repo": "workshop-docker-local",
path: "asp/multi-arch-test/1.1.1-rc.1-linux-amd64",
"name": "manifest.json",
"type": "file",
"size": 735,
"created": "2021-08-25 t8:21:12. 119z ",
"created_by": "admin",
"modified": "2021-08-25 t8:21:11. 437z ",
modified_by: "admin",
"updated": " 2021-08-25t8:21:12. 120z "
}, {
"repo": "workshop-docker-local",
"path": "asp/multi-arch-test/sha256:c20b21f62a18b44dd62a18bc3144bb0bd369a4eb6c5a5de1e18188f291649279",
"name": "manifest.json",
"type": "file",
"size": 735,
"created": "2021-08-25 t8:21:10. 345z ",
"created_by": "admin",
"modified": "2021-08-25 t8:21:10. 316z ",
modified_by: "admin",
“更新”:“2021-08-25t8:21:10.347 z”
}),
"range": {
"start_pos": 0,
"end_pos": 5,
"total": 5,
limit: 5
}
}
