《五天玩转EMAS Serverless》——第四节 实战:小程序疫苗预约-云函数【上】

简介: 本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分:1.云函数开发介绍2.实战:业务逻辑设计3.实战:业务逻辑实现4.实战:集成测试5.课程总结

讲师:雨鸦


一、 云函数开发介绍

image.png

首先我们学习如何使用EMAS Serverless提供的云函数功能,上图是云函数开发和集成的标准流程。

 

首先,需要在本地用JavaScript语言开发一个云函数,然后将开发完成的云函数打包部署到EMAS Serverless控制台,并在控制台根据log日志进行云函数的调试。最后在小程序端侧借助Serverless SDK调用上述调试完成的云函数完成业务集成。

 image.png

在本地开发云函数的过程中,开发者可以使用EMAS Serverless云函数环境中提供的上下文来获取传入的参数以及日志工具。

 

如上图所示,整个云函数的唯一入参是EMAS Serverless云函数提供的上下文环境,这其中包含了云函数所有业务参数成员除此之外,云函数上下文也提供了标准的日志工具,一共提供了四种级别的logger日志,分别是InfoErrorWarningDebug。

image.png

云函数作为业务编排的单元,可以在内部轻松地集成和调用其他EMAS Serverless提供的服务或外部服务

 

如上图所示,EMAS Serverless云函数的上下文对象中集成了EMAS Serverless SDK的实例对象mpserverless,开发者可以通过这个SDK的实例变量访问该云函数所在服务空间内的所有资源。除此之外,EMAS Serverless也支持外部服务集成,云函数的上下文对象中集成了一个urllib的实例对象,通过调用ctx.httpclient,即可获得这个urllib的实例来发起任意网络请求获取资源。

 image.png

接下来,讲一讲在云函数中如何处理异常。关于异常的处理,开发者可以在云函数中,直接抛出异常对象。然后直接在小程序端侧可以捕获到该标准的异常对象,它的格式通常是{code:‘FunctionBizError’,message:‘some message ’}

 image.png

在电子书的第二节中,我们重点学习了EMAS Serverless资源的控制台使用。接下来,我们简要地复习一下控制台上如何部署一个云函数。

 

如上图所示,首先,在EMAS Serverless控制台新建或打开一个已有的云函数。然后,设置名称运行环境等基本信息。然后,本地编写云函数,将其命名为index.js。最后将编写好的云函数打包为同云函数名称的zip文件进行部署。

image.png

接下来,我们学习一下如何在EMAS Serverless控制台中查看云函数日志

 

如上图所示,我们在云函数代码中通过内置的日志工具打印一行日志,然后将其部署到控制台并运行一次该云函数。接着,我们切换到该云函数的日志标签下即可看到执行函数的运行日志。

image.png

接下来,我们介绍一下云函数的本地调试方案。开发者可以借助miniu工具,在本地调试支付宝小程序使用的EMAS Serverlesss的云函数:

 

第一步,通过npm指令本地全局安装miniu

 

npm install -g miniu

 

第二步,构建和组织你的云函数目录结构

 

 云函数项目目录

|——目标云函数目录1

            |— index.js

|——目标云函数目录2

            |— index.js

 

第三步,授权登录miniu指令,在指令执行后,浏览器会弹出一个支付宝授权登录的二维码,扫描二维码后即可完成授权

miniu login


image.png

最后一步即是调试云函数

 

如上图所示,在云函数目录执行本地调试指令时,需要输入miniu cloud function local -i <小程序id> -s <服务空间id> -p <云函数项目目录名> -n <目标云函数目录名> --input <参数>

 

需要强调的是,输入的参数是一个JSON字符串,并不是普通的JSON对象。这样一来,我们就可以免去繁琐的部署行为,便利快捷地调试云函数了。

 

接下篇:

https://developer.aliyun.com/article/1224123?groupCode=emas

相关文章
|
3天前
|
Serverless
电子好书发您分享《五天玩转EMAS Serverless》
电子好书发您分享《五天玩转EMAS Serverless》
612 2
|
3天前
|
关系型数据库 Serverless 分布式数据库
Serverless 应用引擎常见问题之在抖音快手小程序上使用如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
26 3
|
3天前
|
小程序 IDE Serverless
【经验分享】支付宝小程序serverless云开发拓荒
【经验分享】支付宝小程序serverless云开发拓荒
91 0
|
3天前
|
Serverless PyTorch 文件存储
EMAS Serverless文件存储问题之上传视频真机报错如何解决
在进行Serverless应用开发和部署时,开发者可能会遇到不同类型的报错信息;本合集着重收录了Serverless环境中常见的报错问题及其解决策略,以助于开发者迅速诊断和解决问题,保证服务的连续性和可用性。
403 1
|
3天前
|
前端开发 JavaScript 小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
55 0
|
10月前
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。
|
5月前
|
Serverless
电子好书分享您《五天玩转EMAS Serverless》
电子好书分享您《五天玩转EMAS Serverless》
113 1
|
8月前
|
存储 小程序 IDE
EMAS Serverless搭建《私人云相册》小程序
基于EMAS Serverless的云函数、云数据库、云存储等云服务能力一站式快速开发一个小程序。
194 0
EMAS Serverless搭建《私人云相册》小程序
|
8月前
|
小程序 IDE Serverless
基于小程序Serverless开发个人相册小程序
本场景基于小程序云Serverless+小程序开发者工具(IDE),快速搭建个人相册小程序
166 0
|
9月前
|
开发框架 Serverless 文件存储
EMAS Serverless文件存储的uploadFile方法
EMAS Serverless文件存储的uploadFile方法
122 1

热门文章

最新文章

相关产品

  • 移动研发平台