本文介绍如何在MemFire Cloud控制台快速开发一个简单的 Hello World应用。MemFire Cloud为您提供一个简单的Hello World示例,你可以在下载该示例到本地,并通过控制台使用该示例创建函数。创建成功后,您可以测试该函数,查看函数执行的结果。

使用说明

关于以下示例的使用方法,请参见对应代码库的readme.md文件。

前提条件

  • 拥有MemFire Cloud账号;

  • 创建MemFire Cloud应用开发。

操作步骤

步骤1:准备代码包

准备好Hello World样例,并打包ZIP文件。

Helloword的代码包地址详见:MemFire / memfire-fc-helloworld · 极狐GitLab

编写的Hello World样例,只有一个index.js文件,代码如下:

  var getRawBody = require('raw-body');
var getFormBody = require('body/form');
var body = require('body');

/*
please implement the initializer function as below:
exports.initializer = (context, callback) => {
  console.log('initializing');
  callback(null, '');
};
*/

exports.handler = (req, resp, context) => {
    console.log('hello world');

    var params = {
        path: req.path,
        queries: req.queries,
        headers: req.headers,
        method : req.method,
        requestURI : req.url,
        clientIP : req.clientIP,
    }

    getRawBody(req, function(err, body) {
        for (var key in req.queries) {
          var value = req.queries[key];
          resp.setHeader(key, value);
        }
        resp.setHeader('Content-Type', 'application/json');
        params.body = body.toString();
        resp.send(JSON.stringify(params, null, '    '));
    });

    /*
    getFormBody(req, function(err, formBody) {
        for (var key in req.queries) {
          var value = req.queries[key];
          resp.setHeader(key, value);
        }
        params.body = formBody;
        console.log(formBody);
        resp.send(JSON.stringify(params));
    });
    */
}
  

步骤2:创建云函数

1、登录MemFire Cloud控制台,进入我的应用->某应用->云函数页面。

2、在云函数页面,单击新建函数

3、在创建云函数弹框中,输入函数名称helloworld,并上传步骤1中准备好的ZIP代码包,无需配置环境变量,不开启initializer回调,然后单击保存

  • 基础信息:设置函数的基本信息,包括函数名称、请求处理程序。

    配置项 说明
    函数名 函数名称,必填项;只能包含字母、数字、下划线;不能以数字开头,长度在 1-64 之间;同一应用下的云函数不能重名;
    请求处理程序 即函数入口,默认为index.handler;在“运行环境”为 Node.js 时,当前值的格式为 [文件名].[函数名];

  • 函数配置:配置函数的代码和运行环境。

    配置项 说明
    上传代码包 支持ZIP包上传代码;ZIP文件大小不能超过20Mb, 且index.js必须在ZIP文件的根目录下,采用handler函数为入口函数;
    运行环境 目前MemFire Cloud云函数仅支持JavaScript语言,支持的运行环境包括:Node.js 12Node.js 14Node.js 16
    执行超时时间 设置超时时间。执行超时时间默认为60秒,最长为86400秒。建议您将此值设置为 600 秒。如果函数在这个时间内未能成功执行,函数计算会返回超时错误,请设置大小合适的超时时间,避免函数执行超时。
    访问方法 访问方法包括:GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH
    函数描述 函数描述信息;

  • 环境变量:配置函数运行环境中的环境变量。可以配置多个环境变量,详见:环境变量

  • 函数生命周期回调:配置函数实例的生命周期回调,初始化(Initializer)函数

    • 在函数实例启动成功之后,运行请求处理程序(Handler)之前执行;
    • 云函数保证在一个实例生命周期内,成功且只成功执行一次Initializer回调;
配置项 说明
Initializer程序入口 在“运行环境”为 Node.js 时,当前值的格式为 [文件名].[函数名];Initializer函数执行入口,默认为index.Initializer;
Initializer超时时间 执行 Initializer 回调程序的超时时间,开启Initializer回调时为必填项,默认为3,单位秒。最小1秒,最长5分钟,即300秒;初始化函数超过这个时间后会被终止执行;

4、创建成功后,可以在函数列表中查看helloworld函数。

步骤3:执行函数

1、在云函数页面,复制helloworld函数访问地址URL。

2、打开Postman工具,新建一个请求窗口,粘贴到Postman请求里。

3、点击“Send”按钮,即可获得返回结果。