资源函数
本文介绍资源函数的语法规则,包括参数解释、函数示例等。
函数列表
使用如下资源函数时,必须配置高级预览才能拉取到目标数据。
函数 |
说明 |
---|---|
从当前数据加工任务中拉取高级参数配置信息。 支持和其他函数组合使用。 |
|
从OBS中获取特定Bucket下的文件内容,支持定期更新数据。 支持和其他函数组合使用。 |
res_local
使用res_local函数从当前数据加工任务中拉取高级参数配置信息。支持和其他函数组合使用。
- 函数格式
res_local(param, default=None, type="auto")
- 参数说明
参数名称
数据类型
是否必填
说明
param
String
是
对应高级参数配置中的Key。
default
String
否
当param参数的值不存在时,返回该参数的值,默认值为None。
type
String
否
数据输出时的数据格式。
- auto(默认值):将原始值转化为JSON格式。如果转换失败则返回原始值。
- JSON:将原始值转化为JSON格式。如果转换失败则返回default参数的值。
- raw:返回原始值。
- 返回结果
根据参数配置,返回JSON格式数据或者原始值。
表1 成功示例 原始值
返回值
返回值类型
1
1
整数
1.2
1.2
浮点
true
true
布尔
false
false
布尔
"123"
123
字符串
null
None
None
["v1", "v2", "v3"]
["v1", "v2", "v3"]
列表
["v1", 3, 4.0]
["v1", 3, 4.0]
列表
{"v1": 100, "v2": "good"}
{"v1": 100, "v2": "good"}
字典
{"v1": {"v11": 100, "v2": 200}, "v3": "good"}
{"v1": {"v11": 100, "v2": 200}, "v3": "good"}
字典
表2 失败示例 原始值
返回值
说明
(1,2,3)
"(1,2,3)"
不支持元组,需使用列表形式。
true
"true"
只支持true、false(小写)这两种布尔类型。
{1: 2, 3: 4}
"{1: 2, 3: 4}"
字典的关键字只能是字符串。
- 函数示例
从高级参数配置中获取信息并赋值给local。高级参数配置中的Key为endpoint,Value为hangzhou。
- 测试数据
{ "content": "1" }
- 加工规则
e_set("local", res_local('endpoint'))
- 加工结果
content: 1 local: hangzhou
- 测试数据
res_obs_file
使用res_obs_file函数从OBS Bucket中获取文件内容,并支持定期刷新。支持和其他函数组合使用。
建议日志服务Project和OBS Bucket处于同一地域,使用华为云内网获取数据。
- 函数格式
res_obs_file(endpoint,bucket,file)
- 参数说明
参数名称
数据类型
是否必填
说明
endpoint
String
是
OBS中保存的文件地址。如obs.cn-north-4.huawei.com
bucket
String
是
OBS中使用的桶名,如lts-dsl。
file
String
是
目标OBS文件的路径。例如test/data.txt,不能以正斜线(/)开头。
- 返回结果
返回字节流形式或文本形式的文件数据。
- 函数示例
- 示例1:从OBS中拉取JSON格式的数据。
- JSON内容
{ "users": [ { "name": "user1", "login_historys": [ { "date": "2019-10-10 0:0:0", "login_ip": "203.0.113.10" }, { "date": "2019-10-10 1:0:0", "login_ip": "203.0.113.10" } ] }, { "name": "user2", "login_historys": [ { "date": "2019-10-11 0:0:0", "login_ip": "203.0.113.20" }, { "date": "2019-10-11 1:0:0", "login_ip": "203.0.113.30" }, { "date": "2019-10-11 1:1:0", "login_ip": "203.0.113.50" } ] } ] }
- 测试数据
{ "content":"123" }
- 加工规则
e_set( "json_parse", json_parse( res_obs_file( "https://obs.cn-north-7.ulanqab.huawei.com", "lts-dsl", "als_dsl.json" ) ), )
- 加工结果
content: 123 json_parse: '{ "users": [ { "name": "user1", "login_historys": [ { "date": "2019-10-10 0:0:0", "login_ip": "203.0.113.10" }, { "date": "2019-10-10 1:0:0", "login_ip": "203.0.113.10" } ] }, { "name": "user2", "login_historys": [ { "date": "2019-10-11 0:0:0", "login_ip": "203.0.113.20" }, { "date": "2019-10-11 1:0:0", "login_ip": "203.0.113.30" }, { "date": "2019-10-11 1:1:0", "login_ip": "203.0.113.50" } ] } ] }'
- JSON内容
- 示例2:从OBS中拉取文本内容。
- 文本内容
Test bytes
- 测试数据
{ "content": "123" }
- 加工规则
e_set( "test_txt", res_obs_file( "https://obs.cn-north-7.ulanqab.huawei.com", "lts-dsl", "als_dsl.json" ) )
- 加工结果
content: 123 test_txt: Test bytes
- 文本内容
- 示例1:从OBS中拉取JSON格式的数据。