tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

资源函数

PDF
聚焦模式
字号
最后更新时间: 2025-12-03 18:30:47

res_local 函数

函数定义

使用 res_local 函数在当前数据加工任务中拉取高级配置中的环境变量。

语法描述

res_local(param, default=None, type="auto")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
param
对应高级配置中的环境变量的字段名
string
-
-
default
字段值不存在时,返回该参数的值,默认值为 None
string
None
-
type
数据输出时的数据格式。
auto(默认值):将原始值转化为 JSON 格式。如果转换失败则返回原始值
JSON:将原始值转化为 JSON 格式。如果转换失败则返回 default 参数的值
raw:返回原始值
string
auto
-

示例

在数据加工的高级配置中,添加了1个环境变量字段为 time_session,值为30。
原始日志:
{}
加工规则:
fields_set("time_session", res_local("time_session"))
加工结果:
{"time_session":"30"}

res_rds_mysql 函数

函数定义

使用 res_rds_mysql 函数从云 MySQL 数据库中拉取数据库表内容或 SQL 执行结果。首次会默认拉取 MySQL 全量数据。该函数可以和 t_table_map() 函数一起使用,用于实现维度表关联的效果。

前置条件

MySQL 侧:如果访问账号限制了主机 IP,请放通169.254.%,详情请参见 MySQL-创建账号
CLS 数据加工侧:在 新建加工任务 时,打开外部数据源开关,配置您的 MySQL 访问信息。

语法描述

res_rds_mysql(alias, database="数据库的名称", sql="select name from person_info", refresh_interval=0, base_retry_back_off=1, max_retry_back_off=60, update_time_key=None, use_ssl=False)

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
alias
配置的数据库信息别名
string
-
-
database
数据库名称
string
-
-
sql
获取数据的 SQL 语句
string
-
-
refresh_interval
拉取数据的时间间隔,单位:秒。默认值为0,表示仅全量拉取一次
number
0
-
base_retry_back_off
拉取数据失败后重新拉取的时间间隔,默认值为1,单位:秒
number
0
-
max_retry_back_off
拉取数据失败后重试请求的最大时间间隔。默认值为60,单位:秒,建议使用默认值
number
60
-
update_time_key
用于增量获取数据。如果不配置此参数,则执行全量更新
string
-
-
use_ssl
是否使用 SSL 协议进行安全连接
bool
False
-

示例

示例1:拉取表中的数据

MySQL 中新建一个表 test,添加如下数据:

原始日志:
[
{
"user_id": 1
},
{
"user_id": 3
}
]
加工规则:
//在控制台将外部数据 MySQL 的别名配置为 hm,mysql 的 db 为 test222,表名为 test
//从 MySQL 拉取全部数据,使用 t_table_map 函数完成维度表关联

t_table_map(
res_rds_mysql(alias="hm",database="test222",sql="select * from test"),
"user_id",
["gameid", "game"]
)
加工结果:
[
{
"user_id":"1"
},
{
"game":"wangzhe",
"gameid":"123",
"user_id":"3"
}
]

示例2: 拉取部分数据

MySQL 中新建一个表 test,添加如下数据:

原始日志:
[
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
加工规则:
//在控制台将外部数据 MySQL 的别名配置为 hm,mysql 的 db 为 test222,表名为 test
//select * from test where region='CN', 从 MySQL 拉取部分region='CN'的数据,使用 t_table_map 函数完成维度表关联

t_table_map(
res_rds_mysql(alias="hm",database="test222",sql="select * from test where region='CN'"),
"id",
["game", "game_details"]
)
加工结果:
[
{
"game_details":"MOBA手游"
"game_name":"王者荣耀"
"id":"1"
},
{
"id":"2"
},
{
"game_details":"开放世界RPG游戏"
"game_name":"原神"
"id":"3"
}
]

Join MySQL 的说明

两种数据拉取方式

支持一次性拉取和增量数据拉取两种数据拉取方式:
一次性拉取:将一次性拉取 MySQL 数据源中的全部数据,适用于数据量固定、无需后续增量更新的场景,如静态配置表、历史归档数据等。
增量数据拉取:需用户指定 MySQL 表中的 update_time_key 字段(该字段需记录数据的时间戳,用于标记数据生成 / 更新时间)。数据加工任务会自动以上一次拉取的“MySQL 数据最大时间戳”为基准,仅拉取大于等于该时间戳的新增或更新数据。适用于需持续同步 MySQL 增量数据的场景,如实时业务表、动态日志关联表等。

数据关联核心逻辑

无论选择哪种拉取方式,CLS 都会先将拉取到的 MySQL 数据在CLS 侧进行缓存,再基于缓存数据与日志数据执行 Join 计算,确保关联过程的稳定性与效率。

性能说明与扩容建议

为保障数据加工效率,需注意以下内容:
数据量限制:参与 Join 计算的总数据量建议控制在100万条以内。若数据量超出此范围,可能导致 Join 计算延迟,影响加工任务整体性能。
扩容支持:若您的 MySQL 数据源数据量较大(需长期稳定关联超100万条数据),可通过腾讯云销售联系我们申请资源扩容,以匹配业务数据关联需求。
如果 MySQL 内数据量较大,建议不要直接将生产环境主数据库关联至 CLS,避免通过 CLS 对数据库发起过于复杂的 SQL 查询,影响生产环境稳定性,建议使用 只读实例

费用

MySQL 的数据量会按照 数据加工量 来计量和计费。

数据安全

建议创建专门的数据库账号供 CLS 访问 MySQL,尽可能的缩小账号对应的资源及操作权限,CLS 仅需查询权限,无需编辑及删除权限,配置方式请参见 云数据库 MySQL 修改账号权限。请妥善保管账号信息,不要泄露。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈