Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话

简介: 今天说一下如何用Python结合阿里云Serverless函数计算每天定时给女朋友发天气预报和情话,让她明白程序员也有浪漫。欢迎大家学习哈。

演示视频:https://developer.aliyun.com/live/249772

一、Serverless简介

Serverless,中文意思是“无服务器”,所谓的无服务器并非是说不需要依靠服务器等资源,而是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,同时计算资源也开始作为服务出现,而不是作为服务器的概念出现。

1.Serverless架构

主要包含两部分:Baas和Faas,通常位于云端,使用时不需要关注最底层的服务器。

Baas(后端即服务:Backend as a Service)包括对象存储、云数据库、API网关、消息推送等。

Faas(函数即服务:Functions as a Service)对计算能力进行了抽象,可以在无需管理服务器的情况下响应事件。

2.Serverless三大应用场景

场景一:事件触发场景,即有事件触发时才会执行。

场景二:流量突发场景,遇到突发大流量情况时,Serverless架构下按需加载,弹性伸缩,节省资源,负载均衡。

场景三:大数据处理场景,用户只需要上传核心代码到函数计算,就可以快速完成整个工作。

3.Serverless的优势

传统架构下,面对大流量场景,需要增加机器或者对机器升级,运维较为困难。面对高峰和低谷,无法做到按需使用,成本较高。

Serverless架构下,开发者只需专注代码开发,无需在各个云资源控制台手动开通服务和配置管理,并能够根据业务请求自动进行弹性伸缩;支持用户按需付费,成本较低;开发周期快,很大程度上提升了开发、部署的效率

具体可以查看阿里云相关文档 https://developer.aliyun.com/group/serverless

二、Python实现发送邮件

importrequestsimportyagmail# 此模块用于发邮件importschedule# 此模块用于计划任务frombs4importBeautifulSoupimportreran=0url='https://tianqi.2345.com/cixian1d/70177.htm'# 定义天气预报的urlloveurl='https://www.guaze.com/juzi/23389.html'# 定义情话的urldefemail():
globalran# 将ran变量声明为全局变量web=requests.get(url)
# print(web.text)page=BeautifulSoup(web.text,"html.parser")
# print(ran)# print(love[ran])weather=page.find("div",class_="real-today")
# print(weather.text)web2=requests.get(loveurl)
web2.encoding='gb2312'page=BeautifulSoup(web2.text, "html.parser")
div=page.find('div', class_="content")
div=str(div.text)
# print(div)grep=re.compile(r"\d+、(.*)")
content=grep.findall(div)
# print(content)# email函数内的内容是爬取天气和情话的,具体的地址天气你可以更换urlyag=yagmail.SMTP(
host='smtp.qq.com', user='xxxxxxx@qq.com',   # 如过用的是qq邮箱就写smtp.qq.com,如果是163就写smtp.163.compassword='xhaztrwpjffpbdhh', smtp_ssl=True# 授权码在qq邮箱里开启smtp就会生成一个    )
weather= [weather.text,"每日情话:",content[ran],    # 定义发送内容yagmail.inline(r"/.love.jpg")    # 附件图片,不发图片可以删掉               ]
yag.send(
to=['xxxxxxxxx@qq.com'],
subject='早鸭',           # 邮件主题contents=weather# 发送的内容为上面定义的weather,其中weather.text是天气预报,content[ran]是情话    )
print("发送完成")
ran+=1schedule.every().day.at("05:21").do(email)      # 每天5点20分执行函数email0#schedule.every(10).seconds.do(email)  #每10秒执行一下函数email的内容,我这里用于测试whileTrue:
schedule.run_pending()

三、部署到阿里云Serverless,实现自动发送

1.登录到阿里云首页

image-20220701202818857.png

2.选择产品->弹性计算->Serverless->函数计算FC

image-20220701202913872.png

3.进入控制台->服务及函数->创建函数

image-20220701203133969.png

image-20220701203309597.png

image-20220701203504468.png

image-20220701203546979.png

image-20220701203657754.png

4.上传代码->上传文件夹->选择文件夹->保存并部署

image-20220706181040181.png

image-20220706181236172.pngimage-20220706181318098.png

image-20220706181414524.png

5.函数配置->编辑环境信息->修改函数入口

image-20220706182415671.pngimage-20220706182534216.png

6.添加触发器,实现每日定时发送

触发器管理->创建触发器->定时触发器->填写名称和指定时间

image-20220706184028003.pngimage-20220706183941738.png

image-20220706185307405.png

7.导入依赖并部署

先在终端执行以下三条命令,导入项目所需要的依赖

pip3installyagmail-t .
pip3installschedule-t .
pip3installbs4-t .

image-20220706181742559.png

点击右上角保存并部署

image-20220706182019285.png

四、效果展示

点击左上角测试函数,然后通过实时日志查看运行结果。

image-20220706182226604.pngimage-20220706182732131.png

image-20220701211458910.png

image-20220706183510459.png

五、总结

这次实战是对Serverless的一次深刻的理解,收获技术的同时也提升了自己的学习能力。由于目前正在准备考研,就好久没有更新关于自学技术的文章,这回借着阿里云官方评测活动也去学一学火热的 Serverless 无服务架构的技术和思想,在这里分享这个当下流行的技术,然后结合着一些个人浅显的探索,希望能和大佬们共同学习成长!😄😄

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
人工智能 Cloud Native 安全
|
12月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
消息中间件 弹性计算 关系型数据库
体验函数计算:高效处理多媒体文件的真实感受与实战总结
该方案在引导和文档方面做得较为详尽,仅在事件驱动机制部分略显简略。部署和代码示例实用,但需注意内存配置以避免超时。使用体验方面,函数计算表现出色,尤其在高并发场景下,显著提升了应用稳定性和成本效益。云产品如OSS、MNS等与函数计算配合流畅,ECS和RDS表现稳健。总体而言,这套方案弹性好、成本低,特别适合应对高并发或流量不确定的场景,值得推荐。
181 26
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。
|
存储 NoSQL 机器人
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
|
存储 运维 Serverless
我的Serverless实战-Serverless与传统模式的对比
我的Serverless实战-Serverless与传统模式的对比
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放 & PPT 下载
活动回顾|阿里云 Serverless 技术实战与创新成都站回放 & PPT 下载
|
4月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
596 30
|
5月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
601 12
|
10月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
1125 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用

相关产品

  • 函数计算