本节介绍Fun支持Link IoT Edge上Serverless应用开发更多相关用法。
持续运行函数
函数计算被扩展到Link IoT Edge时,支持新的持续运行函数。您依然可以使用Fun来开发、调试持续运行函数,就像开发、调试按需运行函数一样。具体来说就是使用自行构造的事件,并调试invoke
子命令来验证、测试和调试持续运行函数的行为。
驱动开发
驱动是基于持续运行函数构建的一种Serverless应用,所以您也可以使用Fun来开发、调试驱动。由于驱动在Web控制台与设备关联时,会动态生成相关配置并下发到边缘实例,而您本地的类Link IoT Edge环境中并无这些配置。因此,需要您在驱动代码中手动添加如下格式的驱动配置:
{
"thingInfos": [
{
"productKey": "string",
"deviceName": "string",
"custom": {}
}
]
}
其中,productKey和deviceName为与驱动关联的设备标识信息。
在本地开发调试驱动的示例代码如下,其中
const config
参数片段内容为驱动配置:
const config = {
thingInfos: [
{
productKey: "string",
deviceName: "string",
custom: {}
}
]
};
const thingInfos = config.thingInfos;
thingInfos.forEach((thingInfo) => {
const light = new Light();
// The thingInfo format is just right for connector config, pass it directly.
const connector = new Connector(thingInfo, light);
connector.connect();
});
说明 本地开发调试驱动完成后,打包上传到控制台前,您需要通过调用Config.get()接口获取驱动配置,将
const config
参数片段内容替换您实际的Config.get()接口返回信息,Config.get()接口详情请参考设备接入SDK内容。驱动部署
对于驱动,您无法直接将其发布到函数计算中,只能手动打包并上传到物联网平台。您可以进入项目根目录并执行如下命令打包驱动:
zip -r <Your Project Name>.zip *
说明 打包时请确保驱动入口文件位于 .zip包顶级目录下。
打包完成后,您可以登录物联网平台控制台,在 页面上传驱动后,可以在Link IoT Edge中使用该驱动。
该文章对您有帮助吗?