Eswink Eswink
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
  • 注册
    登录
现在登录。
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
首页 代码发布 API接口上云|Serverless云函数服务部署实战
置顶

API接口上云|Serverless云函数服务部署实战

小伍同学 2022-02-25 1:35:58 本文共1642个字,预计阅读时间需要5分钟
1 星2 星3 星4 星5 星 (已有6 点评, 平均得分: 5.00)您还未点评
Loading...

相信大家对于云服务并不陌生,而本次我们要做的就是将本地的API接口转存至Serverless并重新部署,绑定新域名,减轻我们的服务器负担,减少运行堵塞。由于网络空间测绘平台的域名还在备案,所以我就先将API接口上传到Serverless上。

API接口上云|Serverless云函数服务部署实战图片

服务选择

由于上次参加腾讯云举办的性能检测竞赛,我不经意间看到了腾讯云的云函数服务优惠,可以说是相当给力:就一个小站而言,一个月只需要几元甚至免费的价格,非常划算,所以我选择使用了腾讯云的函数服务。

API接口上云|Serverless云函数服务部署实战图片1

云函数创建

地区选择

这里我的API接口使用PHP编写,所以在后续的配置方面与Node和python相比比较麻烦

首先,选择我们创建云函数服务的地区。因为我们并没有对用户地区的要求,所以这里我选择的是广州。如果你有海外用户,可以选择到新加坡、硅谷等地区。

API接口上云|Serverless云函数服务部署实战图片2

本次创建的属于API接口,所以在函数类型上我选择事件函数。这里简单解释一下:事件函数可以被任意触发器触发,而Web函数在后续创建API网关的类型时,只能选择WSS访问,并且需要更改业务接口

编写函数代码

选择函数所需要的的运行环境,包含java,python,go以及node,我选择PHP 7.2这个环境。为了以后便于维护API接口,所以我们分批上传代码文件,或者自己手动编写函数。执行方法就对应着我们 所要运行的函数。

API接口上云|Serverless云函数服务部署实战图片3

对于这个云函数的执行方法,最开始还是把我弄得一头雾水,自己琢磨了好半天,最后还是通过官方给出的技术文档和调试解决了传参问题。

所以,为了让大家避这个坑,这里为大家简单解释下这个执行方法的参数和运行问题。

例如官方给出的函数例子:

<?php

$gl = 1;

function main_handler($event, $context) {
    global $gl;
    print "good";
    print " job ";
    print $gl;
    print "\n";
    $gl += 1;
    error_log( "Hello, errors!" );
    var_dump($event);
    var_dump($context);

    return "hello world";
}

?>

其中,body、header和queryString等参数都是传入了$event中,所以这里的$event相当于取代了$_GET[''],来获取传入的参数,例如name、password等。

再详细一点,例如$_GET['url'],来获取传入的url参数的值,而这里我们需要将它替换为 :

$event['queryString']['url'](建议先对$event使用json_decode(json_encode($event), true),方便后续的取值)

触发器创建

这里需要注意一点,如果你要让你的API接口可以公共访问,那么你就需要在触发方式上选择API网关触发,并规定请求方式和发布环境等等。

API接口上云|Serverless云函数服务部署实战图片4

创建完毕后,我们就可以在访问路径处看到当前函数的访问地址,如下图所示:

API接口上云|Serverless云函数服务部署实战图片5

API网关配置

在创建完云函数后,我们还需要对云函数绑定的API网关进行配置。大致流程和云函数创建相差不多,首先还是选择地区创建。这里需要注意,如果我们选择中国大陆以外的区域,腾讯云是要额外收取费用的,不过可以绑定未备案域名。如果没有什么其他的需求,选择华东、华南和华北的地区就行。

API接口上云|Serverless云函数服务部署实战图片6

前端配置

例如我这里的API网关配置,添加参数配置和请求方法以及跨域。

API接口上云|Serverless云函数服务部署实战图片7

这里参数设置对应刚才云函数中请求的参数,以及响应结果的返回类型配置,默认创建网关后的返回类型应该都是JSON。如果需要其他类型,可以在API编辑中修改。

API接口上云|Serverless云函数服务部署实战图片8

域名绑定

这里我们在API管理中心,绑定了自定义域名。国内的API网关对于域名的要求是备案,如果没有备案又想要绑定自己的域名,那就只有选择国外的API网关地区。

API接口上云|Serverless云函数服务部署实战图片9

并且API网关可以自定义配置协议和SSL证书,以及路径映射。

结语

本次我将网络空间测绘平台的API接口已经全部搬迁到了Serverless上,非常方便,而且可以很清楚地看到API的调用次数以及运行情况,后续的小程序开发和更新,大部分也要用到云函数。

#API#API上云#Serverless#云函数
2
小伍同学
一个即将入土的程序猿
赞赏
小伍同学
评论 (1)
返回
  • 遇到你的那刻肆意释放

    哈哈 很棒

    3月 前 回复
猜你喜欢
  • 巧妙应用Docker运行HuggingFace
  • 如何利用GO中的泛型实现客户端分页API
  • 通用网盘下载链接检测_Serverless云函数应用
  • SpringCloud分布式组件之玩转Nacos
  • 页面优化:使用JS脚本实现页面链接预加载
小伍同学
一个即将入土的程序猿
130
文章
60
评论
169
获赞
小伍同学
06 6月, 2021
工程实践:模块化程序设计(3)
Copyright © 2020-2022 Eswink. Designed by nicetheme. 川公网安备 51012202000979号 | 蜀ICP备20002650号-6
当前线路为: 国内线路
本站已安全运行:
本站由酷盾安全提供高防CDN国际线路安全防护服务
友链: Eswink 信息笔记 网站目录 站长新动力 脚本挂机引流赚钱 勇康博客网 龙笑天下 HTTP代理 QYV企业商务咨询 镇北府博客 吾爱漏洞 祭夜の咖啡馆 杭州论坛 龙鳞收录网 KIENG博客 Hackyh‘Blog
在线客服
小伍同学
我们将会在24小时内回复您,如果有急事请联系QQ或者微信
12:01
您好,有任何疑问请与我们联系!
公众号

选择聊天工具: