【问题标题】:Telegraf Starlark processor - how to convert date time to Unix epoch formatTelegraf Starlark 处理器 - 如何将日期时间转换为 Unix 纪元格式
【发布时间】:2021-03-14 07:29:52
【问题描述】:

我按照教程 https://www.influxdata.com/blog/json-to-influxdb-with-telegraf-and-starlark/ 开始使用 Telegraf 和 Starlark。

我以 JSON 格式获取数据,但遵循教程并将输入视为字符串,然后使用 Starlark 进行解析。

我的问题是,我需要使用作为 JSON 输入一部分的日期时间戳。我正在使用下面的代码,如果我将它设置为一些硬编码的 Unix 纪元时间,它就可以工作

new_metric = Metric("mymetric")
new_metric.time =1615702479866917911

但是如何在 Starlark 脚本中将 DD-Mon-YYYY H:M:S 格式(例如 12-Mar-2021 15:30:00 )的日期转换为 Unix 纪元格式。由于无法在 Starlark 脚本中导入任何 python 库,不知道如何完成这种转换。

【问题讨论】:

    标签: telegraf starlark


    【解决方案1】:

    metric.time = time.parse_time("12-Mar-2021 15:30:00", format="02-Jan-2006 15:04:05").unix

    如果您需要设置时区(上面将解析为 UTC),您可以通过在末尾添加一个参数来实现,如下所示:

    metric.time = time.parse_time("12-Mar-2021 15:30:00", format="02-Jan-2006 15:04:05", location="US/Eastern").unix

    从常规时间对象中,您可以像这样获取 unix 时间:

    metric.time = time.now().unix

    【讨论】:

    猜你喜欢
    • 2014-01-25
    • 2020-05-24
    • 2014-06-17
    • 2016-09-15
    • 2011-02-14
    • 2015-01-23
    • 2013-04-02
    相关资源
    最近更新 更多