云数据库-MongoDB

云函数-阿里云EMAS

有了数据库之后,我们就可以开始提供API了,这里我们使用阿里云EMAS提供的云函数来实现。
阿里云的EMAS服务的开发者版是免费的,免费额度一般是够用的。

步骤一:创建云函数

  1. 登录EMAS管理控制台,选择Serverless,点击进入。
  2. 在左侧导航栏,选择云函数
  3. 单击新建云函数
  4. 输入函数名称,函数名称长度在1-30个字符间,只能包含字母,数字、下划线和中划线,不能以数字、中划线开头。

重要:云函数名称必须要和上传的Node.js代码包名称一致。

  1. 选择运行环境。
  2. 选择运行环境。运行时支持列表
  3. 选择函数执行内存,目前支持128M,256M,512M,1024M,2048M。
  4. 输入描述。

步骤二:定义云函数

  1. 云函数目录结构如下。
    其中 index.js是云函数 getImageList的入口文件。
1
2
└── getImageList
└── index.js

云函数代码包会被解压到临时路径:/tmp/function,因此当您需要打开代码包中的文件时,需要在该文件的相对路径前加上临时路径,否则会提示找不到该文件。例如:上述index.js文件在云函数中的全路径为:/tmp/function/getImageList/index.js。

  1. 编写云函数代码。
    以下代码示例展示了如何从数据库images里面查出特定用户上传的图片记录。

module.exports = async (ctx) => {
const images = await ctx.mpserverless.db.collection(‘images’).find({ owner: ctx.args.username });
return { images };
};

云函数的返回值类型仅支持JSON格式。

步骤三:部署云函数

步骤四:执行云函数