检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在函数中引入动态链接库 在函数中引入动态链接库的方式如下: 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录
函数工程打包规范 打包规范说明 函数除了支持在线编辑代码,还支持上传ZIP、JAR、引入OBS文件等方式上传代码,上传操作过程请参见配置函数代码,函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假
私有依赖包需先在函数工作流控制台创建后再配置使用,公共依赖包可直接配置使用。如函数代码中需使用标准库和FunctionGraph内置的部分非标准库,可参考支持引入的依赖库说明在函数代码中引入使用。 约束与限制 一个函数最多支持添加20个依赖包。 正在被函数使用的依赖包无法被删除。 各个依赖包与代码文件之间,应避免
当目标框架为.NET Core2.0时,要注意生成*.deps.json文件中是否已引入Newtonsoft.Json。如果没有引入,则需要自己手动引入,如下所示: 需要在“targets”中引入以下内容: "Newtonsoft.Json/9.0.0.0": {
作示例请参见制作函数的私有依赖包。 支持引入的依赖库说明 FunctionGraph支持引入标准库、部分非标准库及第三方依赖库。 标准库 对于标准库,无论是在线编辑或是本地开发代码打包上传至FunctionGraph,均可以直接在代码中引入使用。 FunctionGraph内置的非标准库
部署Java代码文件支持上传ZIP文件或JAR文件。 上传JAR文件 如果函数代码没有引入依赖包,可以直接上传函数代码JAR文件。 如果函数代码引入了依赖包,可以在创建函数后先配置函数依赖包,再上传函数代码JAR文件部署。 上传ZIP文件 如果函数代码引入了依赖包,也可以制作并上传包含所有依赖包和函数代码JAR
json、package-lock.json文件。 npm init -y npm i koa 创建index.js文件,在index.js文件中引入koa框架,koa框架的使用参考koa指南。 代码示例: const Koa = require("koa"); const app = new
新创建的pom.xml中dependency应该为空,迁移过程中根据需要添加依赖,不用的jar包尽量不引入,根据需要在pom.xml中添加jar包依赖。 新增函数平台依赖,引入请求参数和响应类。 在pom文件中添加如下依赖: <dependency> <groupId>com
DK下载地址见Java SDK下载(校验文件:fss-java-sdk-2.0.5.sha256)。 Event事件接口 Java SDK引入了触发器事件结构体定义,当前支持CTS、DMS、DIS、SMN、LTS、TIMER、APIG、Kafka。在需要使用触发器的场景下,编写相应代码更简便。
概述 函数开发简介 函数支持的事件源 函数工程打包规范 在函数中引入动态链接库
1、.NET Core 3.1 PHP 7.3 定制运行时 - Cangjie 1.0 函数支持多种代码导入方式 支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等方式。不同运行时支持的代码上传方式如表2所示。 表2 代码上传方式说明 运行时 在线编辑 上传ZIP文件 上传JAR包
属性定义在对象说明中。 HC.Serverless.Function.Common –部署在FunctionGraph服务中的项目工程需要引入该库,其中包含IFunctionContext对象,详情见context类说明。 创建csharp函数时,需要定义某个类中的方法作为函数执
会包含测试用例源代码、无用的二进制文件和数据文件等,删除无用文件可以降低函数代码下载和解压时间。 公共依赖包加速 在编写应用程序时,往往会引入第三方依赖库,尤其是Python语言。在冷启动过程中会下载所需的依赖包,若依赖包太大会直接增加启动时间。FunctionGraph提供公共
p_example 以Nodejs语言为例,实现一个Http Server,其他语言请参考创建HTTP函数。 创建一个main.js文件,引入express框架,接收POST请求,打印请求Body到标准输出并返回Hello FunctionGraph, method POST给客户端。
DK下载地址见Java SDK下载(校验文件:fss-java-sdk-2.0.5.sha256)。 Event事件接口 Java SDK引入了触发器事件结构体定义,当前支持CTS、DMS、DIS、SMN、LTS、TIMER、APIG、Kafka。在需要使用触发器的场景下,编写相应代码更简便。
使用EventGrid触发器(RabbitMQ自定义事件源) 本节介绍如何通过函数工作流控制台创建EventGrid触发器(RabbitMQ自定义事件源),实现使用RabbitMQ自定义事件源触发函数执行。 关于EventGrid触发器事件源的具体介绍,请参见支持的事件源。 约束与限制
配置函数的并发处理 默认情况下,每个函数实例同一时刻只处理一个请求。函数收到并发请求时,例如并发三个请求,FunctionGraph会启动三个函数实例处理请求。FunctionGraph提供了单实例多并发能力,可以在一个实例上并发处理多个请求。 函数的单实例多并发适合处理逻辑中有
为了减小应用层冷启动对延时的影响,FunctionGraph推出了initializer接口,系统能识别用户函数的初始化逻辑,从而在调度上做相应的优化。 引入initializer接口的价值 分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。 用户函数代码更新
以Nodejs语言为例,实现一个Http Server,处理函数初始化init请求和函数调用invoke请求并响应。 创建一个main.js文件,引入express框架,实现Method为POST和Path为/invoke的函数执行入口,实现Method为POST和Path为/init的函数初始化入口。
使用RabbitMQ触发器 本节介绍如何通过函数工作流控制台创建RabbitMQ触发器(当前只支持fanout路由模式),以实现FunctionGraph在RabbitMQ实例中,指定交换机绑定的队列下的新消息进行定期轮询。FunctionGraph会将轮询得到的消息作为参数,用于调用相应函数。