比如当时间是早上8点到晚上10点,数据才转发,其他时候的数据不转发丢掉
是说 payload 中携带的时间戳?
还是说规则执行时,判断当前时间是否为 08:00-20:00 (或者其他某个指定的时间段),如果是这个时间段才转发。
第二种,判断当前时间是否为 08:00-20:00 (或者其他某个指定的时间段),如果是这个时间段才转发。
通过规则的日期函数和字符串函数进行正则匹配,以下是一个规则示例,匹配了时间段 08:00-20:00 (不包括 20:00 整),具体的正则表达式可以根据需求进行调整。
在运行规则测试后可以看到 as_time = true
, not_time = true
(当前时间为 09:50, now_rfc3339()
函数结果符合正则匹配)
SELECT
*,
now_rfc3339() as rfc_3339,
regex_match(now_rfc3339(), '^(\d{4}-\d{2}-\d{2})T((0[8-9]|1[0-9]):[0-5]\d:[0-5]\d)\+.*$') as as_time,
regex_match('2023-12-20T07:46:06+08:00', '^(\d{4}-\d{2}-\d{2})T((0[8-9]|1[0-9]):[0-5]\d:[0-5]\d)\+.*$') as not_time
FROM
"t/#"
WHERE
as_time = true