Artifactory 的专业版允许为工件定义自定义属性。通常,这些是键/值对,其中值是字符串。
是否也可以使用日期(或数字)作为值?
我想用日期定义一个像“doNotUseAfter”这样的属性。然后我想使用 Artifactory 查询语言来找出哪些工件的 doNotUseAfter 日期已经过去。
Artifactory 的专业版允许为工件定义自定义属性。通常,这些是键/值对,其中值是字符串。
是否也可以使用日期(或数字)作为值?
我想用日期定义一个像“doNotUseAfter”这样的属性。然后我想使用 Artifactory 查询语言来找出哪些工件的 doNotUseAfter 日期已经过去。
所有属性值都是字符串或字符串的集合。属性中没有内置类型信息。但是,如果您使用可排序编码(例如ISO 8601)将日期格式化为字符串,则可以使用 AQL 查询以相同格式与当前日期进行字符串比较。
例如,如果您的工件有一个属性doNotUseAfter: 2018-10-22
,您可以使用以下 AQL 查询来查找它:
items.find({"@doNotUseAfter": {"$lt": "2019-02-01"}})
请注意,AQL 确实对日期和数字数据有特定的支持,但据我所知,这仅适用于类似modified
或size
始终具有这些类型的字段;我相当确定它不会根据格式将任意属性解析为一种或另一种类型。这可能会在排序或比较数字属性时导致问题,因为字符串"5"
被认为大于"43"
例如,但对于可排序格式的日期和时间戳,不存在此类问题。