Определите пользовательское свойство типа date и используйте его в запросе - PullRequest
0 голосов
/ 01 февраля 2019

Профессиональная версия Artifactory позволяет определять пользовательские свойства для артефактов.Обычно это пары ключ / значение, в которых значение является строкой.

Можно ли также использовать даты (или числа) в качестве значения?

Я бы хотел определить свойство типа "doNotUseAfter" с датой.Затем я хотел бы использовать язык запросов Artifactory, чтобы выяснить, какие артефакты имеют дату doNotUseAfter, которая уже существует в прошлом.

1 Ответ

0 голосов
/ 01 февраля 2019

Все значения свойств являются строками или коллекциями строк.Нет информации о типе, встроенной в свойства.Однако если вы форматируете даты в виде строк с использованием сортируемой кодировки (например, ISO 8601 ), вы можете использовать запрос AQL для сравнения строк с текущей датой в том же формате.

Например, если у вашего артефакта есть свойство doNotUseAfter: 2018-10-22, вы можете использовать следующий запрос AQL для его поиска:

items.find({"@doNotUseAfter": {"$lt": "2019-02-01"}})

Обратите внимание, что в AQL имеется особая поддержка даты и числовых данных,но, насколько я могу судить, это относится только к таким полям, как modified или size, которые всегда имеют эти типы;Я вполне уверен, что он не анализирует произвольные свойства как тот или иной тип на основе форматирования.Это может вызвать проблемы при сортировке или сравнении числовых свойств, поскольку строка "5" считается больше, чем, например, "43", но для дат и временных отметок в сортируемом формате такой проблемы не существует.

...