如何用5分钟通过Vercel 部署一个接口测试工具

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 超详细的案例,跟着做完就完事儿了!

 这是一个超详细的实例,跟着做完你会:

    • 光速入门 Vercel、Serverless Functions
    • 得到一个和图片一模一样的专属的 API 工具


    一、概念解析

    1. Serverless 是什么?

    Serverless 架构即“无服务器”架构,它是一种全新的架构方式,是云计算时代一种革命性的架构模式。

    Serverless 的核心思想是让作为计算资源的服务器不再需要被使用者关注。

    image2.png


    FaaS(Functions as a Service)函数即服务,FaaS是 Serverless 计算的一种形式,后续我们将用 Serverless API 实现一个使用 Node 帮助客户端发送 API 请求得到响应的服务。

    如果看完还是云里雾里,别慌,接着看。


    2. Eoapi 是什么?

    一个可拓展的开源 API 工具,就是开头的那个配图,可以用它快速调试 API,可以体验一下 Demo 地址。

    download_image1.png



    3. Vercel 是什么?

    Vercel 是一个站点托管平台, 类似于 Github Pages,你丢上去网页的构建后的代码,还你一个 Web 服务链接,同时支持持续集成, 可以关联 Push、PR,提交代码后自动部署 。


    65ec9db5-5b35-4149-8bbb-bb4746c867f24.png


    image.gif

    二、快速开始

    1. Fork Eoapi 仓库

    访问:https://github.com/eolinker/eoapi



    5.png


    Fork 成功后可以在自己的 Repositories 看到Eoapi



    2. 配置 Vercel

    访问:https://vercel.com/

    注册成功后点击新建项目


    6.png


    配置 Vercel 访问 Github 项目的权限,选中Eoapi

    65ec9db5-5b35-4149-8bbb-bb4746c867f24.png



    配置安装、构建命令以及构建后文件夹,配置好之后点击构建按钮。

      • BUILD COMMAND:cd src/workbench/browser&&npm run build:web
      • OUTPUT DIRECTORY:src/workbench/browser/dist
      • INSTALL COMMAND:npm install&&cd src/workbench/browser&&npm install


      8.png


      通过这个链接就可以访问你的专属 API 工具啦!

      9.png




      10.png



      三、Serverless Funcions

      1. 源码解析


      11.png


      api 文件夹下有一个名为 unit.js  的文件,当我们部署到服务器时,它就变成了一个 HTTP 接口,一个文件一个接口,接口地址就是 api/<file_name>,是不是简单粗暴~

      Serverless Functions 让我们写接口和写纯函数一样简单


      12.png


      我们只需要 exports 一个纯函数,通过函数第一个入参 req 拿到请求体,再通过第二个入参 res.end() 返回响应体,就可以快速发布一个 API。

      Javascript

      let _LibsFlowCommon = require('../src/workbench/node/request/unit.js');let _LibsCommon = require('../src/workbench/node/request/libs/common.js');module.exports = (req, res) => {  console.log('unit.js', req.body);  try {    let data = req.body.data;    data.env = _LibsCommon.parseEnv(data.env);    new _LibsFlowCommon.core().main(data, (tmpInputReport, tmpInputHistory) => {      res.end(        JSON.stringify('i am response')      );    });  } catch (e) {    console.error('unit.js', e, req.body);  }};

      2. 如何本地调试

      Vercel 官方提供了 cli 工具

      Shell

      npm i -g vercel
      vercel dev

      剩下的跟着命令行指引配置完后就可以在本地调试 Serverless Functions 了



      四、作者的话

      我是Eoapi 的一名开发者,demo 网站就是使用上面的步骤配置出来的,如果大家对项目感兴趣,欢迎大家持续关注我们项目,遇到问题可以一起交流:https://github.com/eolinker/eoapi

      说实话我第一次配置的时候还是踩了不少坑,但总体来说 Vercel 体验还是很顺畅的。

      我现在基本上所有的网站都迁移到了 Vercel 做了部署。除了 Eoapi,我还部署了我的官网,一个抽奖程序,很酷炫。

      嘿嘿,你也可以部署试试看,作为检验自己是否掌握知识点的小作业。

      Github 地址:https://github.com/moshang-xc/lottery


      13.png



      五、参考资料

        相关实践学习
        【文生图】一键部署Stable Diffusion基于函数计算
        本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
        建立 Serverless 思维
        本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
        相关文章
        |
        25天前
        |
        机器学习/深度学习 编解码 监控
        目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
        这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
        650 1
        目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
        |
        7天前
        |
        Web App开发 定位技术 iOS开发
        Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
        Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
        16 1
        |
        9天前
        |
        缓存 自然语言处理 并行计算
        基于NVIDIA A30 加速卡推理部署通义千问-72B-Chat测试过程
        本文介绍了基于阿里云通义千问72B大模型(Qwen-72B-Chat)的性能基准测试,包括测试环境准备、模型部署、API测试等内容。测试环境配置为32核128G内存的ECS云主机,配备8块NVIDIA A30 GPU加速卡。软件环境包括Ubuntu 22.04、CUDA 12.4.0、PyTorch 2.4.0等。详细介绍了模型下载、部署命令及常见问题解决方法,并展示了API测试结果和性能分析。
        70 1
        |
        1月前
        |
        Java 流计算
        Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
        Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
        35 1
        Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
        |
        22天前
        |
        jenkins 测试技术 持续交付
        提升软件测试效率的实用技巧与工具
        【10月更文挑战第12天】 本文将深入探讨如何通过优化测试流程、引入自动化工具和持续集成等策略,来显著提高软件测试的效率。我们将分享一些实用的技巧和工具,帮助测试人员更高效地发现和定位问题,确保软件质量。
        41 2
        |
        24天前
        |
        机器学习/深度学习 监控 计算机视觉
        目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
        本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
        193 0
        目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
        |
        25天前
        |
        JSON 算法 数据可视化
        测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
        这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
        46 0
        测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
        |
        25天前
        |
        机器学习/深度学习 并行计算 数据可视化
        目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
        这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
        69 0
        目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
        |
        25天前
        |
        机器学习/深度学习 数据采集 算法
        目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
        这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
        42 0
        目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
        |
        25天前
        |
        机器学习/深度学习 XML 并行计算
        目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
        这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
        127 0
        目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)