函数运行时
运行时
在函数工作流服务中创建函数时,需选定所需的运行时(Runtime),运行时为相应语言提供执行环境,以传递函数的调用事件、上下文信息和响应。用户可以使用函数工作流服务提供的运行时,或自行构建定制运行时。
函数支持的运行时语言
FunctionGraph函数Runtime支持多种运行时语言:Python 、Node.js、Java、Go、C#、PHP、Cangjie及自定义运行时,说明如表1所示。
| 
        运行时语言  | 
      
        支持版本  | 
      
        SDK下载  | 
     
|---|---|---|
| 
        Node.js  | 
      
        6.10、8.10、10.16、12.13、14.18、16.17、18.15、20.15  | 
      
        -  | 
     
| 
        Python  | 
      
        2.7、3.6、3.9、3.10、3.12  | 
      
        -  | 
     
| 
        Java  | 
      
        8、11、17、21(仅支持“中东-利雅得”、“土耳其-伊斯坦布尔”区域)  | 
      
        Java SDK下载(软件包检验文件:fss-java-sdk_sha256)  | 
     
| 
        Go  | 
      
        1.x  | 
      
       
        Go1.x SDK(软件包检验文件:Go SDK_sha256)  | 
     
| 
        C#  | 
      
        .NET Core 2.1、.NET Core 3.1、.NET Core 6.0、.NET Core 8.0(仅支持“中东-利雅得”、“土耳其-伊斯坦布尔”区域)  | 
      
        CsharpSDK(软件包检验文件:fssCsharp_sha256)  | 
     
| 
        PHP  | 
      
        7.3、8.3  | 
      
        -  | 
     
| 
        Cangjie  | 
      
        1.0  | 
      
        -  | 
     
| 
        定制运行时  | 
      
        -  | 
      
        -  | 
     
运行时终止机制
为保障服务的安全性与可持续发展,随着运行时的版本迭代,FunctionGraph将停止对部分运行时的维护,不再继续提供技术支持和安全更新。
终止策略如表2所示,分为以下三个阶段。
| 
        阶段  | 
      
        说明  | 
     
|---|---|
| 
        终止支持阶段一:提前180天通知  | 
      
        华为云通过产品公告、Runtime废弃标记、邮件通知终止运行时的支持。  | 
     
| 
        终止支持阶段二:运行时终止启动  | 
      
        华为云不再为该Runtime提供安全补丁或功能更新,不提供技术支持。禁止创建该Runtime类型的函数,已存在的该Runtime类型的FunctionGraph函数仍可更新代码或配置、运行函数。  | 
     
| 
        终止支持阶段三:运行时终止启动后30天  | 
      
        华为云不再为该Runtime提供安全补丁或功能更新,不提供技术支持。禁止创建或更新使用该Runtime的FunctionGraph函数,可继续运行函数。建议将函数迁移至最新支持的运行时,以便获得技术支持和安全更新。  | 
     
表3是FunctionGraph对运行时的终止支持计划,不在此表中的运行时,表示目前没有该运行时的终止计划。
Node.js Runtime集成的三方件
| 
        名称  | 
      
        功能  | 
      
        版本号  | 
     
|---|---|---|
| 
        q  | 
      
        异步方法封装  | 
      
        1.5.1  | 
     
| 
        co  | 
      
        异步流程控制  | 
      
        4.6.0  | 
     
| 
        lodash  | 
      
        常用工具方法库  | 
      
        4.17.10  | 
     
| 
        esdk-obs-nodejs  | 
      
        OBS SDK  | 
      
        2.1.5  | 
     
| 
        express  | 
      
        极简web开发框架  | 
      
        4.16.4  | 
     
| 
        fgs-express  | 
      
        在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。提供的示例允许您使用Express框架轻松构建无服务器Web应用程序/服务和RESTful API 。  | 
      
        1.0.1  | 
     
| 
        request  | 
      
        简化http调用,支持HTTPS并默认遵循重定向  | 
      
        2.88.0  | 
     
Python Runtime集成的非标准库
| 
        模块  | 
      
        功能  | 
      
        版本号  | 
     
|---|---|---|
| 
        dateutil  | 
      
        日期/时间处理  | 
      
        2.6.0  | 
     
| 
        requests  | 
      
        http库  | 
      
        2.7.0  | 
     
| 
        httplib2  | 
      
        httpclient  | 
      
        0.10.3  | 
     
| 
        numpy  | 
      
        数学计算  | 
      
        1.13.1  | 
     
| 
        redis  | 
      
        redis客户端  | 
      
        2.10.5  | 
     
| 
        obsclient  | 
      
        OBS客户端  | 
      
        -  | 
     
| 
        smnsdk  | 
      
        访问SMN服务  | 
      
        1.0.1  | 
     
函数样例工程包下载
本手册使用样例工程包下载地址如表6所示,可以下载到本地,创建函数时上传使用。