云日志服务 LTS-场景四:转换日志参数类型(v函数、cn_int函数和dt_totimestamp函数)

时间:2025-02-12 15:14:38

场景四:转换日志参数类型(v函数、cn_int函数和dt_totimestamp函数)

  1. 场景1:调用op_add函数进行字符拼接和数据相加。

    op_add函数既可以接收字符串类型,也可以接受数值类型,因此不需要做参数类型转换。

    示例如下所示:

    • 原始日志
      {    "a":"1",    "b":"2"}
    • 加工规则
      e_set("d",op_add(v("a"), v("b")))e_set("e",op_add(ct_int(v("a")), ct_int(v("b"))))
    • 加工结果
      {"a": 1,"b": 2,"d": 12,"e": 3}
  2. 场景2:运用字段操作函数和ct_int函数进行类型转换并调用op_mul函数进行数据相乘。

    示例如下所示:

    • 原始日志
      {    "a":"2",    "b":"5"}
    • 加工规则
      e_set("c",op_mul(ct_int(v("a")), ct_int(v("b"))))e_set("d",op_mul(v("a"), ct_int(v("b"))))
    • 加工结果
      {"a": 2,"b": 5,"c": 10,"d": 22222}
  3. 子场景3:调用dt_parse函数和dt_parsetimestamp函数将字符串或日期时间转换为标准时间。

    dt_totimestamp函数接收的参数类型为日期时间对象,不是字符串。因此需要调用dt_parse函数将time1的字符串值类型转化为日期时间对象类型。您也可以直接使用dt_parsetimestamp函数,它既能接收日期时间对象,也能接收字符串。

    示例如下所示:

    • 原始日志
      {    "time1":"2019-09-17 9:00:00"}
    • 加工规则:将time1表示的日期时间转化为Unix时间戳。
      e_set("time2", dt_totimestamp(dt_parse(v("time1"))))
    • 加工结果
      {"time1": "2019-09-17 9:00:00","time2": 1568710800}
support.huaweicloud.com/bestpractice-lts/lts_07_0037.html