您现在的位置是:主页 > 数据库技术 > 数据库技术

如何用Serverless实现生活智能化

IDCBT2022-01-05服务器技术人已围观

简介这期内容当中小编将会给大家带来有关如何用Serverless实现生活智能化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 通过定时触发器,可以

这期内容当中小编将会给大家带来有关如何用Serverless实现生活智能化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

通过定时触发器,可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。

使用企业微信机器人

在企业微信中,选择添加机器人:

之后,我们可以根据文档进行企业微信机器人的基础功能定制:

以下是用 curl 工具往群组推送文本消息的示例(注意要将 url 替换成机器人的 webhook 地址,content 必须是 utf8 编码):

curl '企业微信机器人地址' 
   -H 'Content-Type: application/json' 
   -d '
   {
        "msgtype": "text",
        "text": {
            "content": "hello world"
        }
   }'

通过 Python 语言实现:

url = ""
data = {
    "msgtype": "markdown",
    "markdown": {
        "content": "hello world",
    }
}
data = json.dumps(data).encode("utf-8")
req_attr = urllib.request.Request(url, data)
resp_attr = urllib.request.urlopen(req_attr)
return_msg = resp_attr.read().decode("utf-8")

此时,我们可以通过 Serverless Framework 部署一个机器人的基本功能,并且设置好 API 网关触发器:

index.py 文件如下:

import os
import json
import urllib.request

def main_handler(event, context):
    url = os.environ.get("url")
    data = {
        "msgtype": "markdown",
        "markdown": {
            "content": "hello world",
        }
    }
    data = json.dumps(data).encode("utf-8")
    req_attr = urllib.request.Request(url, data)
    resp_attr = urllib.request.urlopen(req_attr)
    return resp_attr.read().decode("utf-8")

serverless.yaml 文件如下:

标签:

很赞哦! ()

本栏推荐