AWS Lambda 开发企业微信消息机器人

AWS Lambda 开发企业微信消息机器人

实验介绍

本次实验中,我们将了解 AWS Lambda 的常见应用场景,并使用 AWS Lambda 构建能够定时将空气质量数据推送到企业微信的消息机器人。实验将学习 AWS Lambda 代码调试,权限管理和触发器等关键模块的使用方法和应用技巧。

知识点

  • 无服务器计算
  • AWS Lambda 应用场景
  • AWS Lambda 代码调试
  • AWS Lambda 触发器

本次实验需要在 AWS 控制台中完成实操练习,由于环境开启后无法保存,请确保有足够的空闲时间,一次性完成本实验学习。

请点击「下一步」阅读内容,到相应小节时会提示你开启 AWS 云计算环境,并介绍环境使用方法。

AWS Lambda 介绍

Serverless Computing 无服务器计算架构近年来逐渐火热,这里的无服务器并不意味着无需服务器参与计算,而是指开发者不必过多关心底层服务器的状态,性能,资源等。因为这一切由云服务商提供,并动态管理机器资源的分配。

AWS 提供的 Serverless 计算平台叫 AWS Lambda。从应用层面来讲,AWS Lambda 比较适合于数据处理,后端构建等场景。这些场景下,使用 Serverless 架构的开发和运营成本更低,并拥有较好的扩展能力。

本次实验中,我们将了解并学习 AWS Lambda 的基础应用,使用 AWS Lambda 构建能够定时将空气质量数据推送到企业微信的消息机器人。

消息机器人流程图

首先,我们看一下使用 AWS Lambda 开发企业微信消息机器人的流程图。我们准备构建一个定时将空气质量数据推送到企业微信的消息机器人,需要 3 个部分:

  • 可用数据源:提供实时的空气质量数据。
  • 企业微信:提供支持 Webhook 推送的机器人。
  • AWS Lambda:获取数据源提供的原始数据,处理后使用 Webhook 推送到企业微信。

AWS Lambda 开发企业微信消息机器人

如上所示,本次实验只是提供了一个示例和思路。实际工作中,你可以将任意数据源的数据,经由 AWS Lambda 处理后推送到支持 Webhook 或其他协议的应用中。

接下来,我们开始构建。

数据源

首先,我们需要一个可靠的数据源。

实验以获取成都市空气质量数据为例,我们选择了一家 第三方数据提供商,并打算直接通过其 API 来获取数据。

首先,请 访问 aqicn.org 注册并免费申请一个自己的 API token。为了学习方便,我们已经为大家申请好了一个 token 供实验学习使用:token=d9c0f3c71143407d61c900d9dbb450489303e7e8

根据 API 文档说明,如果要获取某个城市的 PM2.5 数据,我们的请求方法如下:

GET https://api.waqi.info/feed/:city/?token=:token

也就是说,成都市的空气质量数据请求链接为:https://api.waqi.info/feed/chengdu/?token=d9c0f3c71143407d61c900d9dbb450489303e7e8。你可以直接将该链接粘贴到浏览器中,查看是否能得到成都市的空气质量数据。

AWS Lambda 开发企业微信消息机器人

有了数据源之后,我们就可以开始创建 AWS Lambda 云函数了。

新建 AWS Lambda 云函数

接下来,点击右侧启动「AWS 云计算实验环境」。环境启动之后,你可以在右侧工具栏看到「云控制台」的按钮,点击进入 AWS 控制台。

AWS Lambda 开发企业微信消息机器人

「云控制台」的按钮的登录链接会在 15 分钟后自动失效,请不要随意注销账户。如果不慎关闭了窗口可以在浏览器历史记录中重新打开。

此外,实验过程中,你可能会在控制台看到一些权限报错,原因是分配的账户仅具备实验所需权限,不会影响正常实验进行。

首先,我们通过 AWS 控制台找到 AWS Lambda 服务,该服务被归类在「计算」模块下方。

AWS Lambda 开发企业微信消息机器人

点击进入之后,你可以看到 AWS Lambda 的管理界面,默认是 「函数」选项卡。

AWS Lambda 开发企业微信消息机器人

接下来,点击页面右上角的「创建函数」,进入新建 Lambda 函数流程。

AWS Lambda 开发企业微信消息机器人

从头开始创作

我们可以选择「从头开始创作」或「使用蓝图」创建一个函数。从头开始创作,即代表后续需要从 0 开始书写代码。而在使用蓝图页面中,AWS 为我们提供了一些常用的示例。你不仅可以直接使用这些例子进行修改,快速实现函数。同时,这些官方示例也是我们学习 AWS Lambda 的好例子。

AWS Lambda 开发企业微信消息机器人

本次实验中,我们先从头构建一个简单的函数,所以选择「从头开始创作」。然后,需要给函数命名,并选择函数运行环境。

选择从头开始构建一个 chengdu-aqi 的 Lambda 函数(空气质量指数缩写为 AQI)。实验选择使用 Python 3.8 来构建,你也可以选择自己熟悉的编程语言。其他选项默认,点击「创建函数」。

AWS Lambda 开发企业微信消息机器人

实验总结

篇幅有限,课程剩余内容可点击《AWS Lambda 开发企业微信消息机器人》开始学习。

本实验学习使用 AWS Lambda 提供的 Python 环境构建了一个成都市空气质量数据的机器人,并让其能够在云端定时执行。实验学习了如何在线构建和调试代码,希望大家能够完整练习一遍,掌握相关的基础应用知识。

本次实验中,我们实现的函数还是非常初级的。实际应用中,为了避免推送消息过多,你可以在函数中添加更多的判断语句,实现数值达到某个阈值之后再推送。

总之,实验给你提供了一个 AWS Lambda 的使用场景,你可以将任何自己关心的数据变化及时推送给自己。

想要系统学习 AWS 云计算知识,欢迎报名 楼+ 之 AWS 云计算实战

AWS Lambda 开发企业微信消息机器人

上一篇:《掌荐 - 商品推荐系统》 - 2019微信小程序应用开发赛


下一篇:花时三月 终于Spring Boot 微信点餐开源系统! 附源码