0

我正在尝试列出特定日期范围内的文件类型,因此可以从工件存储中删除这些大文件,如何做到这一点让我感到困惑,所以我想到了使用青蛙 cli 方式使用 --spec 开关,我有一个表达式,但它并不完全有效,我也需要使用相同的表达式进行删除,任何帮助都将是非常可观的。

curl -u admin: xxxxxxxxxx -i -X POST https://something.artifactory.com/artifactory/api/search/aql -d 'items.find({"type":"file","repo":"dev","created”:{“$before":“3w”},”$or":[{"name":{"$match":"*tar.gz"}, "name":{"$match":"*bz2"}, "name":{"$match":"*zip"}}]})'
4

1 回答 1

2

所以我试着和你做同样的事情,它似乎奏效了。您需要特别注意的几件事是格式,例如,当我复制粘贴您的示例时,有引号不一样。其次是您使用可以帮助查找格式问题的 JSON 查看器工具。所以这就是我所做的并且它奏效了:

curl -u 管理员:密码 -i -X POST " http://localhost:8081/artifactory/api/search/aql " -T aql1.json

aql1.json 文件如下所示:

items.find({
  "type": "file",
  "repo": "libs-release-local",
  "created":{"$before": "1w"
},
"$or": [
  {
    "name": {
      "$match": "*.war"
    },
    "name": {
      "$match": "*.jar"
    }
  }
]
})

正如您在上面看到的,我已将 aql 部分添加到 JSON 文件中,这不是必须的,但可以让生活更轻松,因为我可以查看是否有任何问题,并且还消除了我的命令因缺少 ' 而中断的可能性\'(转义)在特殊字符前面。

希望这可以帮助。

于 2017-04-16T06:49:30.960 回答