检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
fgs-express 在FunctionGraph和API Gateway之上使用现有的Node.js应用程序框架运行无服务器应用程序和REST API 。
events: - obs: bucket: bucket events: - s3:ObjectCreated:Put - s3:ObjectCreated:Post // index.js
COPY:将main.js和package.json拷贝到容器的${USER_NAME}用户的home目录下。 EXPOSE:暴露容器的8000端口,请勿修改。 ENTRYPOINT:使用node /home/tester/main.js命令启动容器。
约束与限制 当前仅Node.js、Java、Python语言支持CodeArts IDE Online在线管理函数。 前提条件 新建实例选择All In One实例,直接包含了需要的Java、Python等插件。
例如,当您导出函数并以index.js中的handler命名时,您的handler应该是handler: index.handler。
function: functionName: fgs-deploy-test handler: index.handler memorySize: 128 timeout: 30 runtime: Node.js14.18
如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
functionName: ${vars.functionName} handler: index.handler memorySize: 256 timeout: 300 runtime: Node.js14.18
编写体验舒适化 HTTP 函数的编写体验更贴近编写原生 Web 服务,可以使用 Node.js 原生接口,保证和本地开发服务体验一致。 限制 HTTP函数只允许创建APIG共享版、APIG专享版、APIC的触发器类型,其他触发器不支持。
Node.js、Python和PHP函数执行入口的配置规则:[文件名].[执行函数名],必须包含“. ”。 例如:myfunction.handler。 Java函数执行入口的配置规则:[包名].[类名].[执行函数名]。
表1 直接上传代码支持的文件类型 运行时 上传ZIP文件 上传JAR文件 说明 Node.js 支持 不支持 - Python 支持 不支持 用python语言编写代码时,自己创建的依赖包名不能与python标准库同名,否则会提示module加载失败,例如“json”、“lib”、
如何调用API API 函数开发 支持多种语言开发函数,例如Node.js、Python 、Java等。 发布区域:所有部署函数工作流服务的区域均可使用。
图4 单击Local Debug 图5 配置事件内容 VSCode自带调试能力 在函数文件夹下新建main.js文件,并将下面内容复制到main.js文件,单击左侧的运行和调试图标,选择添加配置,进行配置,选择Nodejs,按“F5”进行调试。
Node.js使用console.info()函数,Python使用print()函数,Java使用System.out.println()函数打印日志,该方式会把当前请求的Request ID包含在日志内容中。
使用Next.js项目构建HTTP函数 本章节指导使用Next.js框架开发应用的用户,将业务通过构建HTTP函数的方式部署到FunctionGraph。