我正在流利地从一组传感器中推送一些数据。我推送的数据包含一个“时间戳”字段(以毫秒为单位),我需要在其日期组件(年,月等等)中爆炸。我正在使用过滤器在推送数据时执行此操作,因此通过一些ruby代码我可以轻松地分解时间戳,例如。
<filter *>
@type record_transformer
enable_ruby
<record>
year ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%Y")}
monthnumber ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-m")}
monthname ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%B")}
daynumber ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-d")}
dayname ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%A")}
hour ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-k")}
minutes ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-M")}
seconds ${Time.at(Integer(record['timestamp'])/1000.0).strftime("%-S")}
</record>
</filter>
我的问题是它将在json中包含的新字段被赋予字符串类型,而对于一些我严格需要整数(例如,年份,月份号,日期号等)。有没有办法告诉流利者这些字段必须作为整数添加?
我尝试过:
year ${Integer(Time.at(Integer(record['timestamp'])/1000.0).strftime("%Y"))}
但它不起作用。