全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

消息属性函数

更新时间:2017-06-07 13:26:11

Log、Datahub等数据存储的消息中除了数据负载外,还包含消息的k-v属性,流计算默认只获取timestamp属性用于作业的监控告警。本文主要介绍如何获取其他的消息属性,进行处理和操作。

指定属性范围

在作业参数,通过设置以下系统参数从日志服务等数据存储的消息中筛选出指定的属性,这些消息属性将作为流计算内部消息的属性一直传递:

  1. galaxy.input.props.keylist=timestamp,prop1,prop2,... ## 请保留timestamp属性,否则作业的监控告警将失效

有关参数的说明请参看《参数变量》一章节。再次,提醒用户,在使用下文所有消息函数前,必须在作业参数中指定上面的参数列表,否则将报错。

prop

函数定义:

  1. string prop(string prop_name) ## 等同于 prop_get
  2. boolean prop(string prop_name, string prop_value) ## 等同于 prop_set

示例:

  1. select
  2. prop('a') -- 返回值为'aaa'
  3. from dual
  4. where prop('a', 'aaa')

prop_get

函数定义:

  1. string prop_get(string prop_name)

功能说明:

返回指定消息属性的值。

参数说明:

prop_name: 指定消息属性名称。

返回值:

返回指定消息属性的值。若属性不存在,返回NULL。

示例:

  1. select
  2. prop_get('a') -- 返回值为'aaa'
  3. from dual
  4. where prop('a', 'aaa')

prop_set

函数定义:

  1. boolean prop_set(string prop_name, string prop_value)

功能说明:

设置指定消息属性为指定的值。

参数说明:

prop_name: 指定消息属性名称。prop_value: 指定消息属性值。

返回值:

返回恒为true

示例:

  1. select
  2. prop_get('a') -- 返回值为'aaa'
  3. from dual
  4. where prop_set('a', 'aaa')

prop_del

函数定义:

  1. boolean prop_del(string prop_name)

功能说明:

删除指定的消息属性。

参数说明:

prop_name: 指定消息属性名称。

返回值:

返回恒为true

示例:

  1. select
  2. prop_get('a') -- 返回值为NULL
  3. from dual
  4. where prop_set('a', 'aaa') and prop_del('a')

prop_clear

函数定义:

  1. boolean prop_clear()

功能说明:

删除所有消息属性。消息属性中包含系统需要的信息也会被一并清除,请谨慎使用!!

返回值:

返回恒为true

示例:

  1. select
  2. prop_get('a') -- 返回值为NULL
  3. from dual
  4. where prop_set('a', 'aaa') and prop_clear()
本文导读目录