函数计算应用

物联网边缘计算支持基于阿里云函数计算,创建函数计算类型的边缘应用。

前提条件

已创建了函数,具体操作,请参见阿里云函数计算

操作步骤

  1. 登录边缘计算控制台
  2. 左侧导航栏单击应用管理
  3. 应用管理页面自研应用页签下,单击新增应用
  4. 设置应用参数,然后单击确认
    • 应用信息
      参数描述
      应用名称设置您应用的名称,允许英文字母、数字和下划线(_),最多不超过128个字符。
      应用类型有如下三种类型。

      此处选择函数计算

      地域选择您的函数计算所在的地域。
      服务选择您函数所在的服务。
      函数选择您已创建的函数。
      重要 使用Python语言开发的函数,仅支持在Link IoT Edge专业版实例中使用。
      授权选择授权阿里云函数计算的角色。角色相关说明,请参见云资源访问
      应用版本设置应用的版本,必须是该应用唯一的版本号,即一个应用不可以设置两个相同的版本号。
      版本描述描述您的应用版本,例如版本功能等。可以为空。
    • 函数配置
      参数描述
      启用默认配置
      • :使用系统默认的配置,无需设置其他函数配置参数和容器配置参数。
      • :自定义函数配置,需要设置其他参数。
      运行模式分为按需运行和持续运行两种模式。
      • 按需运行:是函数计算原生的运行模式,函数部署到边缘端后不会立即运行,只有当事件触发时函数才会被加载运行,处于运行状态的函数一段时间内没有新的事件触发会停止运行。当您的程序是基于事件触发运行,且事件触发频率低于20分钟一次,建议选择按需运行,可以有效减少对边缘网关的CPU、内存等资源的压力。如果事件触发频率较高,按需运行的函数也会保持运行,以保证事件的响应速度。
      • 持续运行:是边缘端特有的运行模式,函数部署到边缘端后会立即加载运行,用来满足传统的服务端程序常驻运行的需要。当您的程序是服务端程序,需要监听端口独立响应请求(如HTTP Server),请选择持续运行。Link IoT Edge会负责函数的保活,当函数异常退出时,函数将会被重新运行。
      超时限制当事件触发时,会调用代码中handler接口处理事件。正常情况下事件处理完成会发送应答消息返回处理结果,同时表明事件处理结束。如果函数超过此处的设定时间仍未返回结果,则认为函数运行异常,此时函数会被重启。
      定时运行配置函数定时触发的时间点和频率,格式为Cron表达式。例如,* * * * *表示每分钟触发一次函数,20 * * * *表示每小时的第20分钟触发一次函数。详细信息,请参见CRONTAB 网页
      环境变量自定义配置的环境变量,在函数代码运行时可以直接读取到。单击新增环境变量,通过设置变量名称、变量值增加环境变量。最多可配置10条环境变量。

      该功能是为了做到代码和配置的分离,增强代码的可移植能力。例如,函数代码需要请求网络上其它主机的服务,在不同环境下服务器的IP地址和端口通常是不同的。通过环境变量将IP和端口信息作为配置参数传入,不同环境下的网关就可以共用同一份函数代码。

    • 容器配置
      说明 若自定义配置容器配置,需将函数配置区域下的启用默认配置选择为
      参数描述
      是否使用宿主机host模式选择是否隔离容器的网络。直接使用宿主机网络环境。
      • :表示不隔离容器的网络,直接使用宿主机网络环境。
      • :表示隔离容器的网络,需要设置网络端口映射
      网络端口映射是否使用宿主机host模式时出现的参数。函数的网络环境和宿主机的环境是完全隔离的。通过网络端口映射,将容器内函数的监听端口映射到宿主机的某一个端口上,实现不同主机上的客户端程序,能够访问该函数提供的服务。最多支持映射10条网络端口。

      例如,运行在宿主机容器内的fc-http-server函数,通过80端口对外界提供服务。此时,其它主机上的客户端程序,无法通过访问宿主机的80端口,访问到fc-http-server函数。因此需要将fc-http-server函数所在的容器端口映射到宿主机的某一个端口上(例如将容器内的80端口映射到宿主机8080端口),允许其它主机上的客户端程序通过访问宿主机的IP地址:8080,访问到容器内部的fc-http-server函数。

      是否启动特权模式

      容器内的root用户实际上只是宿主机的一个普通用户。若在容器内部做修改系统时间、使用mount命令等需要root权限的操作,则需要赋予容器privileged特权。

      说明 特权模式下,容器内部拥有宿主机的root权限,而且宿主机的所有设备会默认映射到容器内部,即无需配置设备映射
      设备映射是否启动特权模式时出现的参数。设备管理系统和宿主机的环境是完全隔离的。当一个函数需要访问宿主机的设备(例如串口)时,需要将设备映射到运行函数的容器内部。最多可添加10个设备映射。
      卷映射文件系统和宿主机的环境是完全隔离的。当一个函数需要访问宿主机的文件时,需要将文件映射到运行函数的容器内部。最多可添加10个卷映射。
      内存限制设置容器的内存上限。
      • 当容器内存使用超过限制时,容器会被重启。
      • 如果内存限制值过小,可能会导致容器内的应用运行失败。

      默认内存为1024 MB,请根据容器内应用大小,上调内存限制。

  5. 创建完成应用后,可在应用管理页面自研应用页签中查看。您也可以通过操作栏按钮,进行更多操作。
    应用更多操作
    • 版本管理

      单击版本管理,可对该应用的版本进行新增、修改和删除操作。

      应用版本管理
    • 删除
      单击删除,可删除该应用。
      说明 删除应用前,需要先删除其下所有版本的应用,否则应用不可删除。

后续步骤

将已创建好的边缘应用分配到边缘实例,详细操作,请参见分配边缘应用到边缘实例