文档中心 边缘函数 快速入门 步骤 4:触发函数运行

步骤 4:触发函数运行

最近更新时间:2019-08-01 12:01:17

本教程将在前面已经完成函数及触发规则配置的情况下,介绍如何在设备上将云函数正式运行起来。

配置部署

在控制台上完成函数与设备的绑定、消息规则的配置后,可通过单击设备详情页面右上角的【部署】按钮,将已绑定的云函数及配置的消息规则,同步到设备上。

同步到设备上的云函数,根据 持续运行触发运行 的配置,有不同的表现形式。

运行函数

持续运行模式

持续运行模式的云函数,在同步到设备上以后将立刻启动实例,执行入口函数之外的初始化过程。如果在入口函数外有循环业务代码,将开始循环执行用户业务代码。

如果持续运行模式的云函数,仍然有消息规则指向,在对应消息规则的主题上有消息发送时,入口函数将会被触发执行,入参事件将会是消息内容。

触发运行模式

触发运行模式的云函数,在同步到设备上以后,将会在有对应的消息规则中有消息发出时才会执行。在执行时,先完成实例初始化,然后执行入口函数,并将消息内容作为入参事件传递给入口函数。

发送消息

通过消息触发云函数,需要将消息按消息规则发送和传递。消息可以通过 MQTT Client 发送和接受。根据连接地址的不同,可以将消息分为云端消息和本地消息。

云端消息

通过连接 IoT MQ 实例提供的 MQTT 地址,使用 IoT MQ 中计算的用户名及密码登录,设置合适的 Client ID,MQTT Client 可以向云端的某一个具体 Topic 发送消息。

如果有消息规则配置为指定 Topic,来源为云端,目的为某一具体函数,通过此种方式在云端发送的消息,将会传递到设备端并触发函数运行。

本地消息

设备端运行的 efc,在设备本地1883端口同样开启了 mqtt 连接监听。通过连接设备本地地址,如设备对外 IP 或在设备系统里使用 127.0.0.1 地址,使用 IoT MQ 中计算的用户名及密码登录,设置合适的 Client ID,MQTT Client 可以向本地的某一个具体 Topic 发送消息。

如果有消息规则配置为指定 Topic,来源为本地,目的为某一具体函数,通过此种方式在云端发送的消息,将会传递到设备端并触发函数运行。