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

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
性能测试 PTS,5000VUM额度
应用实时监控服务-应用监控,每月50GB免费额度
简介: Serverless,中文意思是 “无服务器”,所谓的无服务器并非是说不需要依靠服务器等资源,而是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,同时计算资源也开始作为服务出现,而不是作为服务器的概念出现。

作者:安可


Serverless 简介


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


Serverless 架构


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


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


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


Serverless 三大应用场景


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


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


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


Serverless 的优势


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


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


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


Python 实现发送邮件


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


import requests
import yagmail   # 此模块用于发邮件
import schedule  # 此模块用于计划任务
from bs4 import BeautifulSoup
import re
ran = 0
url = 'https://tianqi.2345.com/cixian1d/70177.htm'  # 定义天气预报的url
loveurl = 'https://www.guaze.com/juzi/23389.html'  # 定义情话的url
def email():
    global ran      # 将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函数内的内容是爬取天气和情话的,具体的地址天气你可以更换url
    yag = yagmail.SMTP(
        host='smtp.qq.com', user='xxxxxxx@qq.com',   # 如过用的是qq邮箱就写smtp.qq.com,如果是163就写smtp.163.com
        password='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 += 1
schedule.every().day.at("05:21").do(email)      # 每天5点20分执行函数email0
#schedule.every(10).seconds.do(email)  #每10秒执行一下函数email的内容,我这里用于测试
while True:
    schedule.run_pending(


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


1. 登录到阿里云首页


1.png


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


2.png


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


3.png

4.png

5.png

6.png

7.png


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


8.png

9.png

10.png

11.png


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


12.png

13.png


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


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


14.png

15.png

16.png


7. 导入依赖并部署


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


pip3 install yagmail -t .
pip3 install schedule -t .
pip3 install bs4 -t .

17.png


点击右上角保存并部署:


18.png


最终效果展示


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


19.png

20.png

21.png

22.png


总结


这次实战是对 Serverless 的一次深刻的理解,收获技术的同时也提升了自己的学习能力。


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


此处,立即查看原文!



相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
弹性计算 运维 负载均衡
Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
今天说一下如何用Python结合阿里云Serverless函数计算每天定时给女朋友发天气预报和情话,让她明白程序员也有浪漫。欢迎大家学习哈。
35081 28
Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
|
运维 Serverless 数据库
【Serverless实战】B站每日自动签到&&传统单节点网站的Serverless上云
Serverless好哇!这里将针对个人与生产两个应用方向的测评 使用Serverless实现自动获取每日B站的经验值,让你更快冲到LV6! 你的业务站点还是一台服务器All in One吗?基于Serverless与阿里云产品的农产品电商网站上云!
37919 6
【Serverless实战】B站每日自动签到&&传统单节点网站的Serverless上云
|
弹性计算 运维 负载均衡
|
Kubernetes 监控 网络协议
Serverless容器与基于流量模式的自动扩缩
Serverless和Service Mesh是两种流行的云原生技术,客户正在探索如何从中创造价值。 随着我们与客户深入研究这些解决方案,问题经常出现在这两种流行技术之间的交集以及它们如何相互补充上。我们能否利用 Service Mesh 来保护、观察和公开我们的 Knative 无服务器应用程序?本文试图解释如何在一个托管的服务网格技术平台上支持基于Knative的Serverless容器, 以及基于流量模式的自动扩缩能力。
886 0
Serverless容器与基于流量模式的自动扩缩
|
Serverless 对象存储 Python
函数计算实现 oss 上传超大 zip 压缩文件的自动解压处理
在本文中,以用户上传超大压缩文件( zip 类型)到 oss, oss 系统捕获 PutObjec/PostObject 的事件, 自动触发函数执行, 函数将压缩文件解压,并将对应的解压文件放在oss 指定的 bucket 的某个目录下为例,展示 FC 的灵丹妙手
8851 0
函数计算实现 oss 上传超大 zip 压缩文件的自动解压处理
|
Serverless 对象存储 Python
利用函数计算对oss压缩文件做自动解压处理
函数计算提供了一种事件驱动的计算模型。函数的执行是由事件驱动的,函数计算触发器描述了一组规则,当某个事件满足这些规则,事件源就会触发相应的函数。
6664 1
|
Serverless API Docker
CodePipeline流水线实现自动发布Serverless Kubernetes
本文档以构建一个 Java 软件项目并部署到 阿里云容器服务Serverless Kubernetes集群 为例说明如何使用 CodePipeline。 使用说明 开通使用 CodePipeline 产品。
5063 0
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
156 13
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

相关产品

  • 函数计算
  • 下一篇
    无影云桌面