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

本文涉及的产品
移动研发平台 EMAS,开发者版免费套餐
简介: 本文整理自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

相关文章
|
2月前
|
消息中间件 弹性计算 关系型数据库
体验函数计算:高效处理多媒体文件的真实感受与实战总结
该方案在引导和文档方面做得较为详尽,仅在事件驱动机制部分略显简略。部署和代码示例实用,但需注意内存配置以避免超时。使用体验方面,函数计算表现出色,尤其在高并发场景下,显著提升了应用稳定性和成本效益。云产品如OSS、MNS等与函数计算配合流畅,ECS和RDS表现稳健。总体而言,这套方案弹性好、成本低,特别适合应对高并发或流量不确定的场景,值得推荐。
68 24
|
3月前
|
小程序 Serverless 开发工具
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
|
2月前
|
缓存 前端开发 JavaScript
|
5月前
|
存储 NoSQL 机器人
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
|
6月前
|
关系型数据库 Serverless 分布式数据库
Serverless 应用引擎常见问题之在抖音快手小程序上使用如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
|
6月前
|
小程序 IDE Serverless
【经验分享】支付宝小程序serverless云开发拓荒
【经验分享】支付宝小程序serverless云开发拓荒
174 6
|
6月前
|
存储 运维 Serverless
我的Serverless实战-Serverless与传统模式的对比
我的Serverless实战-Serverless与传统模式的对比
|
6月前
|
存储 人工智能 小程序
一天完成基于Serverless架构的头像漫画风处理小程序
我一直都想要有一个漫画版的头像,奈何手太笨,用了很多软件 “捏不出来”,所以就在想着,是否可以基于 AI 实现这样一个功能,并部署到 Serverless 架构上让更多人来尝试使用呢。
331 2
一天完成基于Serverless架构的头像漫画风处理小程序
|
30天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
203 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
48 0
微信小程序更新提醒uniapp

热门文章

最新文章

相关产品

  • 移动研发平台