timestring
编辑timestring编辑
strftime编辑
此设置必须是有效的 Python strftime 字符串。它用于匹配和提取索引或快照名称中的时间戳。
Curator 目前识别的标识符包括
单位 | 值 | 注意 |
---|---|---|
|
4 位年份 |
|
|
4 位年份 |
在进行 ISO 周计算时,请使用它代替 |
|
2 位年份 |
|
|
2 位月份 |
|
|
2 位一年中的周数 |
|
|
2 位一年中的周数 |
在进行 ISO 周计算时,请使用它代替 |
|
2 位月份中的天数 |
|
|
2 位小时 |
24 小时制 |
|
2 位分钟 |
|
|
2 位秒 |
|
|
3 位一年中的天数 |
这些标识符可以相互组合,也可以用连字符 -
、句点 .
、下划线 _
或索引名称中有效的其他字符分隔。
每个标识符必须在 timestring 中以 %
字符开头。例如,像 index-2016.04.01
这样的索引将使用 '%Y.%m.%d'
的 timestring。
当 source 为 name
时,此设置必须由用户设置,否则将引发异常,执行将停止。没有默认值。
关于使用 timestring 进行正则表达式匹配的一句话
Timestring 从 strftime 模式(如 %Y.%m.%d
)解析为正则表达式。例如,%Y
是 4 位数字,因此它的正则表达式看起来像 \d{4}
,而 %m
是 2 位数字,因此它的正则表达式是 \d{2}
。
这意味着,用于匹配年份和月份的简单 timestring %Y.%m
将生成如下正则表达式:^.*\d{4}\.\d{2}.*$
。此模式将匹配索引名称中任何位置出现的 4 位数字,后跟句点 .
,后跟 2 位数字。这意味着它将匹配每月索引,如 index-2016.12
,以及每日索引,如 index-2017.04.01
,这可能不是预期行为。
为了弥补这一点,在选择与另一个模式的子集匹配的索引时,请使用第二个过滤器,并将 exclude
设置为 True
- filtertype: pattern kind: timestring value: '%Y.%m' - filtertype: pattern kind: timestring value: '%Y.%m.%d' exclude: True
这将阻止 %Y.%m
模式匹配每日索引中的 %Y.%m
部分。
这适用于将 timestring
作为纯粹的模式匹配,还是作为日期计算的一部分。