很荣幸今天能邀请大家来参加阿里云2018年的MVP的动手实践活动,今天小编带着大家完成两个动手实践活动,通过两个简单实用的例子来演示无服务器架构的真正魅力,case1:通过函数计算+Http触发器+云市场三者结合起来,提供一个能查询手机号归属地天气预报,case2:通过输入指定的网站抓取图片的案例,这两个例子都不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过简单配置和业务代码就能完成一个高可用高弹性无服务器的应用服务。
Case1:获取手机号归属地+天气+空气质量的例子
下面我做一个简单的例子,把函数计算+API网关+云市场三者结合起来,提供一个能查询手机号归属地的服务,在这个框架里不需要配置WEB容器、不需要搭建运行环境、不需要购买负载均衡,通过配置和一段代码就能完成一个高扩容无服务器的应用服务提供出去。
![f0fe2459c3d51966c59571c9be685aa605c522ab](https://yqfile.alicdn.com/f0fe2459c3d51966c59571c9be685aa605c522ab.png?x-oss-process=image/resize,w_1400/format,webp)
流程说明:
1、客户通过浏览器发送Get请求
2、函数计算HTTP触发器会触发相应的函数执行
3、函数计算去拉取云市场的第三方厂商提供数据
4、函数计算对数据进行清洗和处理
5、返回给前端数据
在开始开始程序之前,我们需要进行如下几个步骤,首先先登陆阿里云控制台,:
云市场配置
1、免费开通获取手机号归属地服务,
点击链接,点击0元立即购买,详见下图
![67367257b0d0483a91662eb7d21ba4c39d64fa6d](https://yqfile.alicdn.com/67367257b0d0483a91662eb7d21ba4c39d64fa6d.png?x-oss-process=image/resize,w_1400/format,webp)
2、免费开通获查看天气情况,
点击链接,点击0元立即购买,详见下图
![5f57f7da885c517493b3d0d2517a986c517ddd42](https://yqfile.alicdn.com/5f57f7da885c517493b3d0d2517a986c517ddd42.png?x-oss-process=image/resize,w_1400/format,webp)
两个免费产品购买后,会在云市场控制台列表里显示如下两个服务,详见下图
![973f55e56ffe7ffdf223088681de4f974d097b55](https://yqfile.alicdn.com/973f55e56ffe7ffdf223088681de4f974d097b55.png?x-oss-process=image/resize,w_1400/format,webp)
函数计算配置
在登陆函数计算控制台之前,请先免费开通函数计算,然后下载两个代码包 下载fc-mobile-code(手机号获取信息代码),下载fc-worm-code(图片爬虫程序代码),登陆函数计算控制台,选择华东2区域,
1)新建一个服务,如下图:
![e81c4cd1e6e82eaaa1b82ba269d225b76674b37b](https://yqfile.alicdn.com/e81c4cd1e6e82eaaa1b82ba269d225b76674b37b.png?x-oss-process=image/resize,w_1400/format,webp)
2)新建一个函数,选择空白模板,如下图:
![c26f4e683fae1051a3be9f798689a9ab5a0435ab](https://yqfile.alicdn.com/c26f4e683fae1051a3be9f798689a9ab5a0435ab.png?x-oss-process=image/resize,w_1400/format,webp)
3)新建一个http触发器,配置如下图,认证方式选anonymous方式,请求方式get和post请求
![a356362ec7652627e8f385507f55644178a0d95a](https://yqfile.alicdn.com/a356362ec7652627e8f385507f55644178a0d95a.png?x-oss-process=image/resize,w_1400/format,webp)
4)进入函数配置页面,选择执行环境python2.7,选择代码上传方式,在上传文件中选择fc-mobile-code.zip文件
![10612fdb6b9468009fa0b7bb050a7ab9902f02d3](https://yqfile.alicdn.com/10612fdb6b9468009fa0b7bb050a7ab9902f02d3.png?x-oss-process=image/resize,w_1400/format,webp)
5)查看配置清单,点击创建即可
![191bfd46965addd565a3166eba6f12b530c4a3d7](https://yqfile.alicdn.com/191bfd46965addd565a3166eba6f12b530c4a3d7.png?x-oss-process=image/resize,w_1400/format,webp)
6)进入函数的代码执行管理页面,分别把云市场控制台上两个应用获取归属地的appcode和获取天气预报的appcode分别替换程序里相应的的appcode,详见下图:
替换getMobile函数的appcode
![d2945b0ca717f088b92000cdaf04ac91f2b4ed3b](https://yqfile.alicdn.com/d2945b0ca717f088b92000cdaf04ac91f2b4ed3b.png?x-oss-process=image/resize,w_1400/format,webp)
替换getWeather里的appcode:
![3cf981858a54b2c0641a6eef9118b1b414cd4015](https://yqfile.alicdn.com/3cf981858a54b2c0641a6eef9118b1b414cd4015.png?x-oss-process=image/resize,w_1400/format,webp)
7)开始调试程序,在调试框里,是属性里填写mobile,值填写成您自己的手机号,点击执行,看下面执行结果
配置属性和值
![e832fc354921cb6c1c1760616b728276fa4ca511](https://yqfile.alicdn.com/e832fc354921cb6c1c1760616b728276fa4ca511.png?x-oss-process=image/resize,w_1400/format,webp)
查看执行结果,我们看到输入一个手机号码,得到了手机号码的归属地和运营商,同时根据归属地,查询出天气情况和空气质量,这个实验就运行成功。
![87d0ce6718d4ebdfb2cb51edac30ac7a8f099981](https://yqfile.alicdn.com/87d0ce6718d4ebdfb2cb51edac30ac7a8f099981.png?x-oss-process=image/resize,w_1400/format,webp)
Case2:输入URL地址获取网站图片的爬虫例子
日常工作中,我们经常会编写一段代码来抓取某个网站的全部资源,例如图片地址,视频地址,以及一些文本信息,这样的代码通常情况下需要用户搭建一个web应用服务器来执行,下面我们结合函数计算这个产品来完成这样一个无服务器架构的应用。
流程图如下:
![077439a15c85b9ac7deaa85d807d27a4935758ca](https://yqfile.alicdn.com/077439a15c85b9ac7deaa85d807d27a4935758ca.png?x-oss-process=image/resize,w_1400/format,webp)
流程说明:
1、客户通过浏览器发送目标网站
2、函数计算通过http触发器触发函数执行
3、函数去目标网站抓取图片地址
4、返回图片地址
函数计算配置
1)进入Case1例子里的服务,新建一个函数,选择空白模板
![c26f4e683fae1051a3be9f798689a9ab5a0435ab](https://yqfile.alicdn.com/c26f4e683fae1051a3be9f798689a9ab5a0435ab.png?x-oss-process=image/resize,w_1400/format,webp)
2)新建一个http触发器,配置如下图,认证方式选anonymous方式,请求方式get和post请求
![a356362ec7652627e8f385507f55644178a0d95a](https://yqfile.alicdn.com/a356362ec7652627e8f385507f55644178a0d95a.png?x-oss-process=image/resize,w_1400/format,webp)
3)进入函数配置页面,选择执行环境python2.7,选择代码上传方式,在上传文件中选择fc-worm-code.zip文件
![31e563d5426dd2daee9d07b1262fc938b2c961e7](https://yqfile.alicdn.com/31e563d5426dd2daee9d07b1262fc938b2c961e7.png?x-oss-process=image/resize,w_1400/format,webp)
4)点击下一步,再点击创建,进入代码执行界面
![30a5ba30b42be0a2c56b7b7e102e4d82b06e8490](https://yqfile.alicdn.com/30a5ba30b42be0a2c56b7b7e102e4d82b06e8490.png?x-oss-process=image/resize,w_1400/format,webp)
5)在http触发器调试框里,输入键:url,值:任意网站(https://www.aliyun.com),点击执行,查看结果,整个case执行完毕。
![1093b674d61d6ad811b2c5afe4f3c63931949450](https://yqfile.alicdn.com/1093b674d61d6ad811b2c5afe4f3c63931949450.png?x-oss-process=image/resize,w_1400/format,webp)