前言

通常我们如果想要搭建一个API服务,最起码都需要一个服务器,但是即使是最便宜的虚拟主机价格也不一定便宜,而且就算你会用自己的语言写API接口,服务器的响应环境配置也是相当麻烦。而利用云函数则完美避开了这些坑,腾讯云函数的免费额度个人用的话基本等于免费。关于云函数的使用我之前也略微了解过,下面就用Python搭建一个简单的一言API接口来实际操作下。

搭建过程

首先新建函数,这里我选择python3.6环境

函数创建完成后,去触发方式里添加一个触发方式,这里要保持默认不勾选集成响应,因为我们返回的不是网页

触发方式创建后会生成一个链接,这个链接就是我们的API接口,现在点击这个链接应该会返回"Hello World"

下面我们开始写我们自己的函数,如果你看了官方文档会本地部署的话,比如用vscode云函数插件,可以用插件把当前项目下载到本地,不会本地的话直接在网页上操作也是可以的。
新建一个yiyan.py和yiyan.txt

import random


def yiyan():
    with open("yiyan.txt", 'r', encoding='utf-8') as f:
        lines = f.readlines()
        line = random.sample(lines, 1)[0]
        line = line.strip()
    return line


if __name__ == "__main__":
    print(yiyan())

yiyan.txt里写入所有一言语句,比如我写的燕双鹰语录

你太情绪化,也不大冷静,不习惯用大脑思考问题。
在行动面前,语言永远是苍白无力的。
老子是你祖宗!
我说过,你们会付出十倍的代价!
为什么总有人觉得自己能够杀得了我?
恐吓是最低级的手段,是外强中干的表现。
你通常都会把自己爱的人,引进伏击圈吗?说实话,这种表达爱情的方式太与众不同,也太令人毛骨悚然了你的心!
不要再大喊大叫了,心疼心疼自己可怜的肺吧!
你喜欢死吗?
不要做个破坏气场的人,这样会受到自然的惩罚。
我会让你看到自己的脑浆。
回答我!
我总是很快。
谁要低估女人的能力,一定吃大亏!
要站在敌人的背后,让敌人变成睁眼瞎。
能够让你轻易背叛的,绝不是你真正的信仰。
即使你拿枪对准了我的后背,我也可以在一秒钟之内让你看到自己的脑浆。
你没听到我说的话吗?
我赌你的枪里没有子弹。
谁要是低估女人的能力,一定会吃大亏!
手段并不能说明什么,只有目的才能分得出正义和邪恶。
小心背后啊。
一个善良的人,不管他的信仰是什么,也不管他是不是有信仰,至少会做出善良的事情。
不要制造自己解决不了的麻烦,也不要许下无法兑现的诺言。
自信总不是坏事,只要不是盲目的。
意志并不是空穴来风,想有就有,那里面闪烁着正义和人性的光芒。
不要用枪指着我的头,否则你会看到自己的脑浆!
这一点已经不重要了。
别让我再说第二遍。
你的眼睛会欺骗你,你的直觉会误导你,只有心才是最可靠的!
你信不信,我可以在一秒钟内让你看到自己的脑浆!
你只需要知道,我所知道的比你们知道的要多得多!
你已经死了,死人能杀人吗?
你真的不会讲故事!
这种死法,真的是很惨。
我有个习惯,会杀死向自己开枪的人,哪怕他的枪里没有子弹。
速度不是靠双臂和力量达到的,而是靠心。
我的枪口再低半寸,你们就会看到自己老大的脑浆!
这种试探才可怕是在拿自己弟兄的生命开玩笑,这种不信任更加可怕很难想象今后你我双方能够精诚合作。
你相信自己的眼睛吗?有时眼睛会欺骗你。
像你这样的人要怎么改变,嗯?你不会改变,只有死!
休息是养精蓄锐,睡觉则是懒惰松散!

然后重写index.py

# -*- coding: utf8 -*-
import logging
from yiyan import yiyan
logger = logging.getLogger()


def main_handler(event, context):
    result = yiyan()
    logger.info(result)
    return result

上传部署或者点击完成后,点击测试或者打开前面生成的API链接,应该就可以返回一言了

自定义域名

这个默认链接太长了,我们可以自定义域名。回到上面的触发方式那里,点击这个服务名

点击自定义域名,然后点击新建

根据页面提示自行添加域名解析,如果选择https的话,还需要自行添加证书,建议在腾讯云申请证书,这样就不用再添加一遍证书密钥什么的了,最后别忘了自定义路径映射,否则访问链接都得带/release/样的后缀

现在我们访问[域名]/[云函数的名称](比如https://api.2bboy.com/api)就能访问到你的一言啦!
如果你不想要后面这个云函数的名称或者想换一个,还是那个服务界面,选择管理API,点击编辑就能自定义后缀了,修改后按照提示下一步然后重新发布就行了

Last modification:April 16th, 2020 at 11:48 pm