文档中心>消息队列 MQTT 版>数据集成>集成数据到云函数 SCF

集成数据到云函数 SCF

最近更新时间:2025-10-20 16:56:02

我的收藏


实现原理

云函数支持 MQTT 消息队列触发器。触发器基于 ​​MQTT 共享订阅​​(Shared Subscription)机制,能够根据业务中定义的 ​​Topic Filter​​ 订阅并消费消息,继而自动触发对应的云函数执行。通过这一机制,云函数可与物联网设备建立高效、异步的通信链路。消息经由 MQTT 集群进行可靠路由与分发,通过共享订阅实现多个触发器的负载均衡,从而支撑高并发、需实时响应的物联网业务场景,如车辆状态监控与远程智能控制。


业务应用场景

新能源车电量管理​​
汽车的TCU模块通过MQTT消息触发云函数,根据汽车的状态调用后续的不同服务
​​低电量预警与响应​​:车辆 TCU 检测到电量低于阈值时,通过 MQTT 主题发布状态消息,触发云函数执行通知用户、导航至充电站等操作。
​​远程设备控制​​:云函数通过 MQTT 向车辆发送指令(如限制空调功率),实现节能调控。
​​实时状态同步​​:通过 HTML/小程序页面订阅 MQTT 主题,实时查看车辆电量变化。

特性与优势

事件驱动与实时响应:云函数由 MQTT 消息自动触发,无需轮询。设备状态变化(如电量低)可立即作为事件传递至云端,触发后续业务链。
实现了近乎实时的业务处理,极大降低了从事件发生到系统响应的延迟,极佳地满足物联网应用对实时性的要求。
无服务器架构,极致弹性与成本优化:云函数以 Serverless 模式运行,根据MQTT消息的到达频率自动伸缩,无需管理服务器。零闲置成本​​,​​自动扩容​​可轻松应对突发流量,运维简化​​。
松耦合的集成方式​​:MQTT 主题(Topic)作为消息总线,将设备上报与业务处理完全解耦。不同的业务功能(如通知、导航、节能控制)由不同的云函数独立处理,有较高的灵活性和可维护性。

操作步骤

策略和权限

1. 检查 scf_QcsRloe 中是否有以下策略:QcloudMQTTReadOnlyAccessQcloudAccessForSCFRoleInMQTT
1.1 登录 访问管理控制台,跳转至【角色】菜单。
1.2 搜索 scf_qcsRole



1.3 单击角色详情,查看策略。



1.4 搜索QcloudMQTTReadOnlyAccessQcloudAccessForSCFRolelnMQTT,若能搜到对应的结果,则代表已关联成功。



1.5 策略缺失的情况下,可按照下列步骤为角色添加策略:
1.5.1 使用主账号登录腾讯云控制台
1.5.2 单击访问管理 > 策略
1.5.3 搜索缺失的策略,如:QcloudMQTTReadOnlyAccess



1.5.4 单击关联用户/组/角色。



1.5.5 在弹窗中,选择切换成角色。



1.5.6 搜索 scf_qcsRole,勾选并确定。



1.5.7 页面提示已关联成功。



配置 MQTT 触发器

1. 登录 Serverless 控制台,跳转到函数服务页面。
2. 单击函数名,进入函数管理页面。

3. 选择函数配置 TAB,单击右上角编辑

4. 如下图配置触发器。

5. 配置日志

6. 根据业务需要,填入需要的 Topic Filter,符合 Topic Filter 的消息触发执行 云函数

7. 云函数创建完成后,观察MQTT 控制台 > 客户端管理。
可以看到触发器订阅者列表。

查看客户端详情, 可以观察到订阅表达式与配置一致。


验证

发送消息到 MQTT 集群, 查看云函数日志。