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