静态网站利用云函数 SCF + API 网关访问自定义后端接口

本文介绍使用全静态页面的网站如何利用腾讯云的 SCF+API 服务实现简单的后端接口,并提供了一个 Python 出题器的实例演示。

相关服务介绍:

云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。 API 网关(API Gateway)是 API 托管服务,提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。

前几天为我家小盆友用 Python 写了个简单的自动数学题出题器,小家伙十分好奇,隔三差五的就要来让我演示一番 😏。只是每次都要拿本出来输命令给他看实在有些麻烦,于是想着能不能加个前端页面调用,直接打开页面就能看到运行效果。

作为一个行动派派,我目标锁定了用 SCF+API 的方式,也就是现在很🔥的 serveless 方案。最大的好处当然是不用再伺候服务器了,少了很多搭建的麻烦。而且这个按实际使用量计费,对于小网站再适合不过了。

下面介绍下要怎么实现了。首先,你要有个腾讯云账号,然后参考👇的简单步骤:

  1. 创建云函数 SCF。
  2. 创建 API Gateway,后台指定调用步骤 1 建好的云函数。
  3. API gateway中 新建密钥,使用计划,实现访问控制并发布。
  4. 写前端页面,调用刚写好的 API。
  5. 测试,解决各种 bug,大功告成!

创建云函数 SCF

照着这个文档 云函数快速入门 按里面的步骤来创建自己业务函数。第一次可以选择使用控制台创建函数,运行环境中选择自己熟悉的编程语言,当前支持 python, php, golang, java, nodejs 几种,然后就可以在函数代码下愉快的开始了。这里以运行环境 Python3.6 为例。默认的入口函数是 index.main_handler,有两个输入参数:

  • event:可以获取触发源的消息 - 主要用来获取传入参数
  • context:可以获取本函数的环境及配置信息。

不清楚参数里有什么的,或怎么用的,可以直接打印出来看看,都是 dict 类型,一目了然。建议加上传入参数检查和限制,毕竟我们不知道调用接口的人会传些什么奇怪的东西。返回类型包装成 json 格式,对前端调用更友好。给出改好的代码👇:

# -*- coding: utf8 -*-
import sys, getopt, random
import json
def main_handler(event, context):
    print("Received event: %s" % event)
    print("Received context: %s" % context)
    params = event["queryString"]
    return auto_cal_generator(int(params["limit"]), int(params["op_count
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值