ARTIFACTORY:如何读取智能远程存储库中非缓存工件的属性?

Fadi Rouhana
2023-01-22 11:06

在某些情况下,用户可能需要在从Artifactory智能远程存储库中缓存工件之前检查工件的详细信息。这在很多情况下都很有帮助,比如当您需要查看某个项目的某些属性以确定是否要解决它时。如果您试图使用cURL命令获取当前未存储在缓存中的工件的属性,您将得到以下404错误提示:curl -XGET "http://JFROG_URL/artifactory/smart-maven-remote/org/jfrog/test/multi2/3.7-SNAPSHOT?用户属性”- u < >
{
"errors": [{
"status": 404,
"message": "OK"
})
}

从版本7.17.4开始,Artifactory提供了使用AQL查询远程存储库的功能(人工查询语言- JFrog),可以直接在远程或虚拟存储库中进行搜索。

这需要在Advanced选项卡下的远程存储库配置上向远程Artifactory提供凭据。

要启用远程存储库中的搜索,请向搜索查询添加transitive标签:

物品。找到(“回购”:“remote-repo”).transitive ()

  • 以下规则和指南适用于搜索远程和虚拟存储库:
  • 远程存储库必须是一个Artifactory实例。
  • 查询必须包含一个存储库和一个$eq子句。
  • 不能在AQL查询中使用排序和偏移标志。
  • 主域只能包含“项”。
  • Include可能只具有以下域:Items和ItemProperties。
  • 搜索将在虚拟存储库中的前五个远程存储库上运行。

例如,下面的示例搜索驻留在某个智能远程存储库中的项目的所有名称和属性:curl -XPOST https:///artifactory/api/search/aql -H 'Content-Type: text/plain' -d 'items。找到({“回购”:“< REMORE_REPOSITORY_NAME > "})。包括(“名字”、“财产。*”).transitive()”- u <用户名>
欲了解更多信息,请参考以下内容Wiki页面