更新时间:2025-12-09 gmt 08:00

使用node.js开发http函数-j9九游会登录

本章节以通过http函数部署koa框架为例,指导您使用node环境开始开发函数。

约束与限制

  • http函数只能绑定apig/apic触发器,根据函数和apig/apic之间的转发协议。

    函数的返回合法的http响应报文中必须包含body(string)、statuscode(int)、headers(map)和isbase64encoded(boolean),http函数会默认对返回结果做base64编码,isbase64encoded默认为true,其它框架同理。

  • http函数默认开放端口为8000。
  • 通过apig服务调用函数服务时,即使用apig触发器时,isbase64encoded的值默认为true,表示apig传递给functiongraph的请求体body已经进行base64编码,需要先对body内容base64解码后再处理。
    函数必须按以下结构返回字符串。
    {
        "isbase64encoded": true|false,
        "statuscode": httpstatuscode,
        "headers": {"headername":"headervalue",...},
        "body": "..."
    }

前提条件

已在本地操作系统中安装node环境。推荐使用euleros环境进行node.js的依赖包制作。

使用http函数部署koa框架示例

koa框架是一个基于node.js的web开发框架,主要用于构建高效、可扩展的web应用。

  1. 执行以下命令创建项目文件夹。
    mkdir koa-example && cd koa-example
  2. 执行以下命令初始化nodejs项目和下载koa框架。
    npm init -y
    npm i koa

    执行成功后,文件夹中会新增node_modules文件夹和package.json、package-lock.json文件。

  3. 创建index.js文件,在index.js文件中引入koa框架,koa框架的更多使用方法可参考。
    代码示例:
    const koa = require("koa");
    const app = new koa();
    const main = (ctx) = >{
        if (ctx.request.path == ("/koa")) {
            ctx.response.type = "application/json";
            ctx.response.body = "hello world, user!";
            ctx.response.status = 200;
        } else {
            ctx.response.type = "application/json";
            ctx.response.body = 'hello world!';
            ctx.response.status = 200;
        }
    };
    app.use(main);
    app.listen(8000, '127.0.0.1');
    console.log('node.js web server at port 8000 is running.')
  4. 准备一个bootstrap启动文件,作为http函数的启动文件。文件内容如下:
    /opt/function/runtime/nodejs20.15/rtsp/nodejs/bin/node $runtime_code_root/index.js
    • /opt/function/runtime/nodejs20.15/rtsp/nodejs/bin/node:表示nodejs编译环境所在路径。
    • $runtime_code_root:系统变量,表示容器中项目代码存放路径/opt/function/code。
    • index.js:3创建的项目入口文件,可自定义名称。

    目前支持的nodejs语言和对应的路径请参见表1

    表1 nodejs语言对应路径

    语言

    路径

    node.js 6

    /opt/function/runtime/nodejs6.10/rtsp/nodejs/bin/node

    node.js 8

    /opt/function/runtime/nodejs8.10/rtsp/nodejs/bin/node

    node.js 10

    /opt/function/runtime/nodejs10.16/rtsp/nodejs/bin/node

    node.js 12

    /opt/function/runtime/nodejs12.13/rtsp/nodejs/bin/node

    node.js 14

    /opt/function/runtime/nodejs14.18/rtsp/nodejs/bin/node

    node.js 16

    /opt/function/runtime/nodejs16.17/rtsp/nodejs/bin/node

    node.js 18

    /opt/function/runtime/nodejs18.15/rtsp/nodejs/bin/node

    node.js 20

    /opt/function/runtime/nodejs20.15/rtsp/nodejs/bin/node

  5. 把所有项目文件和bootstrap文件打包成zip文件。打包时需注意确保解压后,项目入口文件位于根目录。
    图1 打包所有文件
  6. 登录,右上角单击“创建函数”
  7. 创建一个空白http函数,并将上述zip文件上传至“代码”页签。

    创建成功后即可使用koa框架自行开发应用,框架提供了处理请求的基础设施,您自定义的应用代码则定义具体的业务逻辑。

相关文档

相关文档

网站地图