首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人工AQL下载人工制品

人工AQL下载人工制品
EN

Stack Overflow用户
提问于 2017-05-19 19:20:51
回答 3查看 5.4K关注 0票数 2

有什么方法可以使用AQL下载工件吗?

我收到了一个查询,其中包括:

代码语言:javascript
复制
curl -u user:pass \
-X POST https://artifactoryURL/artifactory/api/search/aql \
-H 'content-type: text/plain' \
-T query.aql

还有我的query.aql

代码语言:javascript
复制
items.find(
    {
        "repo":{"$eq":"repo"},
        "$and": [
          {
            "path": { "$match": "path/*"},
            "name": { "$match": "*.rpm"}
          }
        ]
    }
)
.sort({ "$desc": ["modified"] })
.limit(1)

现在我知道它返回了我想要的东西,是否有一种方法可以将请求从api/search/aql更改为类似于api/download/aql的东西并获取这些项?

编辑:

我也尝试过在jfrog 中这样做,但是他们并不完全支持AQL (排序和限制没有起作用)。

这是我尝试过的命令:

代码语言:javascript
复制
jfrog rt s --spec=query-aql.json

而未能对结果进行排序和限制的规范:

代码语言:javascript
复制
{
  "files": [
    {
      "aql": {
        "items.find": {
          "repo": "repo",
          "$and": [
            {
              "path": { "$match": "path/*"},
              "name": { "$match": "*.rpm"}
            }
          ]
        }
      },
      "sort": {
        "$asc": ["modified"]
      },
      "limit": 1
    }
  ]
}

编辑2:

添加了一个jfrog go问题:https://github.com/JFrogDev/jfrog-cli-go/issues/56

EN

回答 3

Stack Overflow用户

发布于 2017-05-22 13:27:53

使用aql脚本从工件下载文件的一种简单方法是使用JFrog cli,如此处所述:https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-Download,CopyandMoveCommandsSpecSchema

cli可以作为linux、mac或windows的可执行文件下载,并且应该适合您的需要。

使用curl命令,您可以做的唯一事情就是解析aql查询的结果,并对每个文件执行下载请求。

票数 2
EN

Stack Overflow用户

发布于 2018-01-03 00:55:35

我只是在寻找一个非常相似的东西--使用下载规范文件从给定的回购和路径中下载最新的工件。我不管我是否使用AQL,我只是希望它在download-spec.json文件。如果您转到上面的链接,请看示例5

针对您的示例进行修改:

代码语言:javascript
复制
{
  "files": [
  {
    "pattern": "path/*.rpm",
    "target": "my/download/path/",
    "sortBy": "created",
    "sortOrder": "desc",
    "limit": 1,
  }
  ]
}
票数 2
EN

Stack Overflow用户

发布于 2018-04-17 16:14:31

jfrog支持--limit--sort-order--sort-by参数。

以下几点对我来说是可行的:

代码语言:javascript
复制
jfrog rt search --spec=/tmp/jfrogfilespec.json --sort-by created --sort-order=desc --limit 1 

json规范文件的内容如下:

代码语言:javascript
复制
{ "files": [ { "aql": { "items.find": { "repo":{"$eq":"my-release-repo"}, "name":{"$match":"my-artifact-prefix*"} } } } ] }

这将生成以下查询(根据调试模式):

代码语言:javascript
复制
items.find( { "repo":{"$eq":"my-release-repo"}, "name":{"$match":"my-artifact-prefix*"} } ).include("name","repo","path","actual_md5","actual_sha1","size","type","created").sort({"$desc":["created"]}).limit(1)

令人沮丧的是,我似乎找不到一种方法,用一个允许我影响搜索的“包含”修饰符部分的文件使用"jfrog搜索“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44077569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档