课时5:函数的调试与部署

本文涉及的产品
简介: 函数的调试与部署

Serverless AI训练营:课时5:函数的调试与部署

课程地址:https://developer.aliyun.com/trainingcamp/1eeaedf056f14ad98e9986c31068e939?spm=a2c6h.26142516.J_2566289780.1.37c67cbd7bCsFs

课时5:函数的调试与部署

内容介绍
一、引入举例

二、函数计算及相关的开发工具

三、函数部署

 

一、引入举例

相对于来说,调试的部分是比较困难的,因为调试的本身就是Serverless架构的一大弱点。

引入:写代码为什么要有调试的过程呢?不调试行不行?

上学的时候无论是考试还是做什么都少不了一个检查的过程,比如说写完作业,爸妈就会说写完了检查一下;考试的时候老师也会说,答完卷检查一下,一会儿就要交卷了;

在我们做完某件事情的时候,都有这样一个检查的过程,来保证我们尽可能的少犯错误或者不犯错误,程序也是如此;

*写完的代码是否有BUG

*代码在函数上是否可以运行的起来

*函数运行是否和自己的预期一致

*代码是否会进行一些奇奇怪怪的操作

*......

写了一堆代码,难免这些代码会做一些奇奇怪怪的事情。

比如说:少了一个字母,用错了一个标点符号,或者说程序的输出与预期的是不一致的;或者程序存在逻辑问题,程序在处理某些业务时,少考虑了一些因素等等很多问题....

所以这个时候我们就需要自己检查一下看看是不是OK的,如果不OK马上修改,如果OK就提交代码、上传代码、部署代码等。那么这个过程就可以认为是我们调试的过程,当然,调试也并不是这样简单容易的,有很多的方法和理论。

 

二、函数计算及相关的开发工具

1、云调试

打开浏览器,进入项目页面,点击invoke按钮进行调试就可以了

image.png

当左侧有一个项目的时候,只需要点击右边的invoke他就可以输出目标结果。

大家可以看到在线调试这个图我们已经完成了调试↓

image.png

输出了hello world,这种方法非常简单,对于临时使用是非常有效果的,但对于稍微麻烦一些的项目可能就不大适合在线上调试了,这个时候我们就需要本地开发和调试方法,毕竟我们大部分的代码都是在本地来进行开发和调试的,虽然说现在大家都在云端写代码、云端开发、云端抵BUG是未来的趋势;但是,至少目前来看还是本地开发更习惯、更靠谱一些。所以这个时候就需要插件命令行工具。

2、命令行工具

首先,在安装命令行工具之后如果想进行本地调试,还需要安装docker,安装之后就可以通过invoke的指令来进行本地的调试了。

image.png

当我们输入完指令

jiangyu@B-165MLVDL-0004 demo03  % fun local invoke demo03/demo03

按回车之后,会顺利的输出相关的结果

image.png

当然,如果是第一次使用,可能也会涉及到通过拉取镜像的一个过程。

3VSCode插件

如果要在编辑器中写代码,调试的话,要有VSCode插件,只需要点击VSCode运行功能,插件就可以自动拉起docker帮助我们进行调试。

image.png

举例调试一个项目<demo-03>

只需要点击这个按钮即可(下图鼠标位置)↓

image.png

可以看到顺利的输出了相关的结果↓

image.png

可以看到这张图片已经顺利的输出了预期结果↓。

image.png

4、无工具调试

没有docker是不行的,因为调试机制的本身就是要依赖docker的;但是,人类往往是具有创造力的,没有条件就要创造条件,也可无工具调试。

image.png

以拍三为例,只需要增加一段代码,来调试来调用我们的方法,至于event可以采用我们即将使用的触发器的情况,这样就可以实现我们简单的调试方法了。

调试方法对比

 

云调试

命令工具

VSCode插件

无工具调试

是否本地执行

否(云端)

是否需要安装工具

是否需要安装 Docker

是否可以模拟真实环境

绝大部分是

绝大部分是

部分是

是否简单快速

是否符合开发习惯

在一般小的情况下,不想开编辑器,不想用docker的情况下,想要比较靠谱的情况下可以使用云端调试。

如果想在本地调试,开发更加亲密一些,可以使用命令行工具或者VSCode插件。

如果不想安装各种工具,完全可以使用最后这种方法进行调试。

云端调试虽然说不太符合我们的开发习惯,但是这种开发方法真的可以百分之百模拟现场;第2种和第3种方法虽然可能通过docker镜像方法,已经尽可能的模仿了线上环境,但是对于一些线上资源交货的场景,尤其是通过VPC等和其他资源进行交货的场景,这种方法未必可以很好的解决类似的问题;针对最后一种方法,只可以说临时用一下还好,它的环境真的可能和线上环境天差地别,那么,很可能会对我们真正上线的时候造成一定的影响。

 

三、函数部署

部署部分很容易,方法也很简单,也不需要特殊的依赖,就算没有docker等这些依赖,也都是完全可以的。

第一种方法:在创建函数或者更新函数的时候上传代码包等;

第二种方法:如左图所示,通过命令行工具执行来进行部署;

第三种方法:通过VSCODE插件,点击上传按钮,即可进行部署;

在线部署:编写代码保存,上传代码。

客户端部署:通过VSCODE插件,通过命令行工具

image.png

 

格外强调

命令行工具的/H指令真的非常方便,无论在任何时候都可以使用/H指令来查看当前功能下的一些使用方法。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
7月前
|
前端开发 Java
前端基础 - 常用调试方式
前端基础 - 常用调试方式
40 0
|
20天前
|
前端开发 数据库 Nacos
|
8月前
|
Serverless 开发工具 Docker
课时5:函数的调试与部署
课时5:函数的调试与部署
188 0
|
8月前
|
存储 Serverless 文件存储
|
8月前
|
人工智能 JavaScript Serverless
|
8月前
|
监控 Serverless 文件存储
课时4:函数的开发与配置
课时4:函数的开发与配置
187 1
|
8月前
|
监控 Serverless 测试技术
|
10月前
|
BI 定位技术 Python
SWMM从入门到实践教程 04 快速入门案例的模拟执行
在左侧双击Options中的Dates,即可弹出时间的设置。此处为了教学,建议仅模拟6个小时,加快结果的生成。实际项目中,可以根据需求对指定场次的降雨时常进行模拟,并注意这个时常一定不低于降雨时常(我们的雨量计设置了2小时降雨,所有66个小时的模拟也是合理的)。
|
开发者 ice
3.4基础概念:常用调试页面简介|学习笔记
快速学习3.4基础概念:常用调试页面简介
105 0
3.4基础概念:常用调试页面简介|学习笔记
|
网络架构 开发者 ice
3.3基础概念:调试配置介绍|学习笔记
快速学习3.3基础概念:调试配置介绍
93 0
3.3基础概念:调试配置介绍|学习笔记

热门文章

最新文章