Искусственный запрос AQL с относительной датой

#artifactory #artifactory-query-lang

#артефактор #артефактор-запрос-язык #искусственный #искусственный запрос-lang

Вопрос:

Я пытаюсь запросить все артефакты, возраст которых превышает 6 месяцев. Я могу удалить их, если жестко закодирую дату в своем запросе.

 {
  "files": [
    {
      "aql": {
        "items.find": {
          "repo": "foobar",
          "$or": [
            {
              "$and": [
                {
                  "modified": { "$lt": "2016-10-18T21:26:52.000Z"}
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
  

jfrog rt del --spec /tmp/foo.spec --dry-run

Как я могу выполнить запрос с относительной датой? (например, сегодня — 6 месяцев)

Я собираюсь поместить это в задание cron, и я бы предпочел не перегружать файл спецификации каждый раз, когда выполняется задание cron.

Ответ №1:

Запросы AQL поддерживают операторы относительного времени.

В этом случае измените запрос:

 "modified": { "$lt": "2016-10-18T21:26:52.000Z"}
  

Для:

 "modified": { "$before": "6mo"}
  

Смотрите полную документацию по адресу: Операторы относительного времени AQL.