检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建Next.js项目 本案例以Next.js框架的默认demo为例演示部署过程,需要在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。
Node.js 开发事件函数 开发HTTP函数 nodejs模板 制作依赖包
去加载index.js中定义的handler函数。 Node.js 8.10、Node.js 10.16、Node.js 12.13、Node.js14.18、Node.js16.17、Node.js18.15函数定义 Node.js 8.10、Node.js 10.16、Node
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
Node.js8 /opt/function/runtime/nodejs8.10/rtsp/nodejs/bin/node Node.js10 /opt/function/runtime/nodejs10.16/rtsp/nodejs/bin/node Node.js12 /o
开始使用本案例前请在本地安装好18.15.0版本的Node.js运行环境。 当前华为云函数工作流服务支持的Node.js运行时最高版本为18.15.0、Next.js支持最高版本为13.5.6,本案例将以Next.js版本为13.5.6举例介绍。 资源规划 表1 资源规划详情 产品
通过FunctionGraph部署Next.js项目 方案概述 创建Next.js项目 创建依赖包 构建程序 处理结果
tjs13.5.6”为例。 代码上传方式:选择“从OBS上传文件”。 OBS链接URL:第5步复制的OBS桶链接。 运行时语言:选择“Node.js 18.15”。 配置完成后,单击“确定”。 父主题: 通过FunctionGraph部署Next.js项目
函数创建完成后进入详情页面,选择“代码”页签,选择“上传自 > Zip文件”。 图1 上传zip文件 选择之前打包的“nextjs-func-code.zip”文件,然后单击“确定”。 添加依赖包 在Nextjs-app函数详情页面,选择“代码”页签,页面滚动至最下方,单击“添加依赖包”,配置如下信息:
'body': JSON.stringify(event), } return output; } 父主题: Node.js
然后将node_modules打包成zip即可生成一个既包含MySQL也包含redis的依赖包。 Nodejs其他版本制作依赖包过程与上述相同。 父主题: Node.js
复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 通过FunctionGraph部署Next.js项目
自定义镜像函数。 枚举值: Java8 Java11 Node.js6.10 Node.js8.10 Node.js10.16 Node.js12.13 Node.js14.18 Node.js16.17 Node.js18.15 Python2.7 Python3.6 Python3
Serverless是一个Node.js CLI工具,因此您需要先在计算机上安装Node.js。 请访问Node.js官方网站,下载并按照安装说明在本地计算机上安装Node.js。 您可以通过在终端中运行node --version来验证Node.js是否安装成功,即可以看到打印出来的对应Node.js版本号。
上传代码时,如果代码中包含敏感信息(如账户密码等),请您自行加密,以防止信息泄露。 解压后的源代码不能超过1.5G,超大代码请联系客服。 代码编辑区中如果代码有修改,请修改完成后再次单击“部署”,完成重新部署代码。 当您部署的代码大于20M时,在线编辑器将不展示代码,但您仍可以测试您的函数。
编辑:支持在编码框中,对代码进行撤销、恢复、剪切、复制、粘贴、查找、替换操作。 设置:支持设置编码框中代码字体大小、自动格式化和编码框主题颜色。 代码编辑区中如果代码有修改,请修改完成后再次单击“部署”,完成重新部署代码。 当您部署的代码大于20M时,在线编辑器将不展示代码,但您仍可以测试您的函数。
OBS方式上传函数代码 要创建函数,首先需要创建函数部署程序包(包含代码和所有依赖项的文件)。 FunctionGraph支持如下三种方式部署程序包: 支持在线编辑代码。用户在编辑函数代码时支持类似工程方式的管理,可以创建文件、文件夹并对其进行编辑。 支持直接上传函数代码。用户在本地开
是否有initializer的代码示例? 有,请参考如下示例。 Node.js(initializer入口介绍) exports.initializer = function(context, callback) { callback(null, ''); };
函数工程打包规范 打包规范说明 函数除了支持在线编辑代码,还支持上传ZIP、JAR、引入OBS文件等方式上传代码,函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假如函数工程文件保存在“~/Code
hello: world runtime runtime 目前支持如下: Node.js14.18、Node.js12.13、Node.js10.16、Node.js8.10、Node.js6、Node.js4.4 Python3.9、Python3.6、Python2.7 Java11、Java8