0

Artifactory 的专业版允许为工件定义自定义属性。通常,这些是键/值对,其中值是字符串。

是否也可以使用日期(或数字)作为值?

我想用日期定义一个像“doNotUseAfter”这样的属性。然后我想使用 Artifactory 查询语言来找出哪些工件的 doNotUseAfter 日期已经过去。

4

1 回答 1

3

所有属性值都是字符串或字符串的集合。属性中没有内置类型信息。但是,如果您使用可排序编码(例如ISO 8601)将日期格式化为字符串,则可以使用 AQL 查询以相同格式与当前日期进行字符串比较。

例如,如果您的工件有一个属性doNotUseAfter: 2018-10-22,您可以使用以下 AQL 查询来查找它:

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

请注意,AQL 确实对日期和数字数据有特定的支持,但据我所知,这仅适用于类似modifiedsize始终具有这些类型的字段;我相当确定它不会根据格式将任意属性解析为一种或另一种类型。这可能会在排序或比较数字属性时导致问题,因为字符串"5"被认为大于"43"例如,但对于可排序格式的日期和时间戳,不存在此类问题。

于 2019-02-01T17:52:07.627 回答