检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 concurrentNum 否 是 函数单实例并发数。
代码中选择busboy库解析上传的文件,需要生成Node.js14.18版本对应的依赖包busboy.zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。 创建依赖包。
函数构建类实践 使用已有SpringBoot项目构建HTTP函数 使用Next.js项目构建HTTP函数 使用Go语言程序构建HTTP函数 使用FunctionGraph函数对MFA微服务进行Serverless化改造 使用FunctionGraph函数访问Redis数据 FunctionGraph
node_modules/**' - 'node_modules/node-fetch/**' 排除handler.js以外的所有文件: package: patterns: - '!
表1 Node.js Runtime集成的三方件 名称 功能 版本号 q 异步方法封装。 1.5.1 co 异步流程控制。 4.6.0 lodash 常用工具方法库。 4.17.10 esdk-obs-nodejs OBS sdk。
创建新服务 serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --name my-special-service 此示例将为服务生成Node.js
COPY:将main.js和package.json拷贝到容器的${USER_NAME}用户的home目录下。 EXPOSE:暴露容器的8000端口,请勿修改。 ENTRYPOINT:使用node /home/tester/main.js命令启动容器。
events: - obs: bucket: bucket events: - s3:ObjectCreated:Put - s3:ObjectCreated:Post // index.js
function: functionName: fgs-deploy-test handler: index.handler memorySize: 128 timeout: 30 runtime: Node.js14.18
COPY:将main.js和package.json拷贝到容器的${USER_NAME}用户的home目录下。 EXPOSE:暴露容器的8000端口,请勿修改。 ENTRYPOINT:使用node main.js命令启动容器,请勿修改。
表1 支持的编程语言和版本 语言 支持版本 Python 2.7、3.6、3.9、3.10 Node.js 6.10、8.10、10.16、12.13、14.18、16.17、18.15 Java 8、11、17(当前仅支持华北-乌兰察布二零二) Go 1.x C#.NET Core
例如,当您导出函数并以index.js中的handler命名时,您的handler应该是handler: index.handler。
如Node.js和Python函数的执行入口命名规则为:[文件名].[初始化函数名]。 说明: 函数代码配置信息请参见配置函数代码。
# serverless.yml functions: first: # Function name handler: index.http # Reference to file index.js & exported function 'http' events
结果应该类似于如下: provider: name: huawei runtime: Node.js14.18 credentials: ~/.fg/credentials 父主题: 使用指南
从环境变量中引用变量 要引用环境变量中的变量,请在serverless.yml中使用${env:someProperty}语法,如下: service: new-service provider: name: huawei runtime: Node.js14.18
huaweicloud-sdk-nodejs-v3 Node.js SDK使用指导 API接口与SDK的对应关系 介绍FunctionGraph服务提供的API接口与SDK的对应方式,请参考表2。
handler: index.handler # 函数执行入口 memorySize: 256 # 函数消耗的内存 timeout: 30 # 函数执行超时时间 runtime: Node.js14.18
编写体验舒适化 HTTP 函数的编写体验更贴近编写原生 Web 服务,可以使用 Node.js 原生接口,保证和本地开发服务体验一致。 限制 HTTP函数只允许创建APIG共享版、APIG专享版、APIC的触发器类型,其他触发器不支持。
functionName: ${vars.functionName} handler: index.handler memorySize: 256 timeout: 300 runtime: Node.js14.18