本节介绍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中使用该驱动。