腾讯云函数SCF初探

2023-10-27

前不久的微信开发者大会上在推他们的Serverless架构,即他们的产品腾讯云函数SCF
当然这个也不是新鲜的事物,在亚马逊提供的同类服务叫做lambda,阿里云提供的则叫做函数计算,Cloudflare的则名为workers

在编程语言的支持上,除了Cloudflare的workers只支持javascript
其余几家都支持python、php、golang、node,java等主流开发语言。

关于workers的描述,Cloudflare官网是这样描述的:

……Cloudflare Workers provides a lightweight JavaScript execution environment that allows developers to augment existing applications or create entirely new ones without configuring or maintaining infrastructure.

大意就是workers提供一个免运维的轻量级的js的运行环境

现在微信小程序开发这么火,那么就拿腾讯云的SCF云函数作为一个入门的helloword

首先抛出官方文档:https://cloud.tencent.com/document/product/583/9199

关于无服务器的概述,文档已经说得很清楚:

无服务器(Serverless)不是表示没有服务器,而表示当您在使用 Serverless 时,您无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,即可跳过复杂的、繁琐的基本工作。核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源。Serverless 拥有近乎无限的扩容能力,空闲时,不运行任何资源。代码运行无状态,可以轻易实现快速迭代、极速部署。

大意就是运维可以下岗了,老板胆子大的话,后端也可以下岗了,一个前端就可以全干,啊不,是全栈(狗头保命)。

此处注册登录流程省略一千字。

创建云函数

创建函数主要有三种:

  • web控制台创建
  • 本地命令行CLI创建
  • VS Code插件创建

需要注意的是,使用golang开发在web控制台在线创建自定义代码时会失败,会报一个No Match Module: Get lambda file failed的错误。

如果语言是PHP和Python创建是成功的。
VS Code创建流程差不多,略过。

重点说说本地命令行CLI创建。
说明文档:https://cloud.tencent.com/document/product/583/37510

大前提:无论用哪种编程语言作为开发语言,都要先安装好python环境。

安装scf就一个命令:pip install scf
安装好之后可以查看scf版本: scf --version
继续执行:scf configure set进行配置。
相关的配置信息,可以打开腾讯云的web控制台查看。

接下来就是编写函数部分了。
执行项目初始化命令:scf init -n go_test -r go1
这个命令中参数-n是执行项目名,-r是指定开发环境,不指定的话默认初始化用的是Python3,具体可用的环境可以查看文档的相关部分或使用scf init --help查看帮助信息。

这样就在当前目录下生成到了一个go_test的目录。
cd go_test进入目录里面看可以看到初始化好的信息。

本文章选定的是golang,开发环境是windows,关于go的使用文档可以看:https://cloud.tencent.com/document/product/583/18032。

需要注意的是,最后生成的二进制文件的名字。
说明文档中使用的是:

set GOOS=linux
set GOARCH=amd64
go build -o main main.go

按照说明打包部署执行scf deploy,会报错:

[x] [ERROR]  default - go_test: Deploy function 'go_test' failure, No Match Modu
le: Get lambda file failed. RequestId: xxxxxxxxxxxxxxxxxxxx-xxxxx

最后找原因发现是scf部署时是按照template.yaml里面的handler字段来匹配的,而这个字段需要和二进制文件以及打压缩包的名字一致。

所以解决办法是要么把yaml配置文件中的handler名字改为main,或者重新编译

go build -o index index.go  //如果没有修改生成的默认文件名index.go

此时再去按照流程部署会发现能部署成功。

执行方式有几种,其中云端调用函数执行的命令是scf remote invoke -n go_test,具体文档里面也有交代,说明文档:https://cloud.tencent.com/document/product/583/38310

流程差不多就是这样,别的特性或功能,可以去官方文档去探索。

题外话

关于触发器,某些地区会缺少。
比如我选择创建云函数的地区是「成都」,触发器只有三种:
定时出发,cos出发,kafka触发三种。

而说明文档种提到的API网关触发方式在成都区是没有的,
换到广州区,创建的云函数就多了一个API网触发的选项。

如果刚好你是需要做web服务的话,是需要用到api网关触发器的,真要使用的话,除了换区也没啥选择了。

通常来说,很多云服务对内网流量是免费的,比如腾讯云COS,而云函数也有一些内网流量的免计费的说明,如果你的服务器刚好部署在成都区,那么,流量就变成走公网得收费了,当然还有时延问题。

这个也说明云函数还有待完善的地方,不过相信以后还是会越来越好。

来源:https://niyaoxuehao.cn/archives/151.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

腾讯云函数SCF初探 的相关文章

  • Typora+PicGo-Core+腾讯云COS 图床配置教程

    typora PicGo Core 腾讯云COS 图床配置教程 前言 1 typora PicGo Core 腾讯云COS 图床 分别是什么 为什么把他们组合在一起 typoa是一个能做Markdown的一个软件 我们可以在里面编辑文本 添
  • 眺望数据应用新态势|第八届腾讯云Techo TVP开发者峰会圆满落幕

    引言 在数据驱动的时代 如何有效地利用大数据已经成为了各个行业的重要课题 而随着云计算 人工智能等新兴技术的蓬勃发展 数据技术也随之不断生长并呈现出新的趋势与特点 企业该如何把握数据技术的新脉络 从而洞察数据背后的价值 2023 年 8 月
  • 解决linux mysql命令 bash: mysql: command not found 的方法

    解决linux mysql命令 bash mysql command not found 的方法 腾讯云开发者社区 腾讯云 tencent com
  • AIOps 在腾讯的探索和实践

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由LemonLu发表于云 社区专栏 赵建春 腾讯 技术运营通道主席 腾讯 社交网络运营部助理总经理 AIOps 白皮书核心编写专家 我今天要讲的主题 AIOps 是一个比较新的话
  • 国际阿里云腾讯云免费:目标存储OSS版别操控功用注册详细阐明

    腾讯云目标存储OSS版别操控功用注册详细阐明 简介 阿里云OSS目标存储创立Bucket时能够选择是否注册版别操控功用 什么是OSS版别操控功用 OSS目标存储有必要注册版别操控吗 注册版别操控需要另外付费吗 阿里云账号一 阿里云OSS目标
  • 轻量应用服务器性能如何?CPU带宽流量系统盘测评

    轻量应用服务器性能如何 腾讯云轻量应用服务器是一种轻量级搭建小型网站和应用的服务器 相对于其他更高性能配置的服务器CVM 性价比更高 虽然其性能不如高性能云服务器CVM 但对于小型网站和应用来说 能够提供基本的计算和存储资源 可以满足基础的
  • 怎么样可以访问外部网络对于无公网IP的阿里云ESC服务器

    新购买了3台阿里云ECS服务器 centos7 和弹性公网IP EIP 虽然是从事计算机行业的人员但俺不是计算机网络从业人员 如何将这个祖宗运行起来 并且还要能方便远程维护 唉 其间的过程及酸爽各位看官尽情脑补吧 在此特别写几篇记录一下 算
  • Firefox火狐浏览器显示你的连接不安全,是什么意思?

    当 Firefox 连接到一个安全的网站时 网址最开始为 https 它必须确认该网站出具的证书有效且使用足够高的加密强度 以充分保护您的隐私 如果证书无法通过验证 或加密强度过低 Firefox 会中止连接到这个网站 并向您显示SSL证书
  • 【腾讯云 Cloud Studio 实战训练营】用于编写、运行和调试代码的云 IDE泰裤辣

    文章目录 一 引言 二 什么是腾讯云 Cloud Studio 三 Cloud Studio优点和功能 四 Cloud Studio初体验 注册篇 五 Cloud Studio实战演练 实战篇 1 初始化工作空间 2 安装 antd mob
  • 腾讯云分布式数据库可用性系统实践

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 在分布式环境当中 总是会遇到诸如 主机宕机 或 网络故障 等各种影响系统可用性的情况发生 轻则会导致投诉 重则导致企业核心数据的丢失 影响企业业绩和商誉 而如何确保分布式系统运行正常
  • 一个或多个筛选器或者Listeners启动失败

    今天使用tomcat直接部署项目 之前一直都是在idea直接部署 但是在启动tomcat的过程中一直报一个或多个筛选器或者Listeners启动失败的错误 之前在idea部署的时候也出现过这个错误 然后就根据网上的答案说 lib 下可能没有
  • 一文拆解Faas的真实案例

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文来自腾讯云技术沙龙 本次沙龙主题为Serverless架构开发与SCF部署实践 刘敏洁 具有多年云计算行业经验 曾任职于华为 UCloud等企业担任产品开发 产品经理 目前负责腾
  • 国际版腾讯云/阿里云:全站加快有哪些功用?有哪些优势?适用于什么场景?

    腾讯云全站加快有哪些功用 有哪些优势 适用于什么场景 产品功用 全站加快 ECDN 经过在全球各区域部署加快节点 有用下降跨国拜访推迟 保证全球加快作用 最优链路 各加快节点两两相连 实时勘探 结合腾讯自研的最优链路算法 获取用于传输的最优
  • 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布(3元获取腾讯云服务器带小程序支持系统)

    很多朋友都认为微信小程序申请 部署 发布很难 需要很长时间 实际上 微信和腾讯云同是腾讯产品 已经提供了10分钟 根据准备资源情况 已完成小程序申请认证 完成小程序开发 部署 发布的方式 当然 实现的是基础功能 但是 可以给学习者很便捷的体
  • autojs人像变换

    牙叔教程 简单易懂 产品简介 腾讯云神图 人像变换 Face Transformation 基于腾讯优图领先的人脸识别算法 提供人脸年龄变化 人脸性别转换等能力 用户上传照片即可得到实现男女性别切换 人脸变老 变年轻等效果 适用于社交娱乐
  • 如何免费体验腾讯云虚拟主机(云服务器)

    最近调Android程序 访问不到局域网内的服务器 是在没有办法了就搞了台腾讯云的虚拟主机 不得不说 比起那些香港的三线品牌虚拟主机体验好了许多 配置属于乞丐版 1GHz CPU 1GB RAM 50GB 系统盘 30GB数据盘 对于广大学
  • 放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者 腾讯游戏云 背景 Memcached攻击创造DDoS攻击流量纪录 近日 利用Memcached服务器实施反射DDoS攻击的事件呈大幅上升趋势 DDoS攻击流量首次过T 引发业界
  • 腾讯云 API 网关产品发布

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 腾讯云已在近期上线了 API 网关产品 协助开发者通过简单方式即可完成 API 配置管理 发布版本 访问控制等功能 并可进一步对接腾讯云云市场中的 API 市场 参与到 API 经济的
  • ECS突发性能型t6和轻量应用服务器区别和选择?

    这两款对比的话 个人还是首选推荐使用ECS突发性能型t6 毕竟是ecs服务器 功能上全面一些的 关于什么是阿里云ECS共享型S6 计算型 突发性能型 操作和地域镜像等系统选择 前往阿里云官网产品文档了解轻量服务器和突发型相关内容 共享型 云
  • 腾讯云用centos还是ubuntu系统好?

    腾讯云服务器提供了多种操作系统选择 包括 CentOS Ubuntu Windows Server 等 用户可以根据自己的需求和习惯选择适合的操作系统 通常比较推荐安装centos 7 x版本的系统 但在 CentOS 和 Ubuntu 之

随机推荐

  • 单例模式---Java实现

    单例模式涉及到一个单一的类 该类负责创建自己的对象 同时确保只有单个对象被创建 这个类提供了一种访问其唯一的对象的方式 可以直接访问 不需要实例化该类的对象 注意 1 单例类只能有一个实例 2 单例类必须自己创建自己的唯一实例 3 单例类必
  • Keil编辑和STM32cubemx配置STM32控制步进电机

    使用Keil ARM V5 IDE编程和STM32CUBEMX代码配置实现STM32F103和步进电机驱动器模块A4988控制步进电机 Keil和Stm32cubemx 安装 安装Keil IDE非常简单 下载包含Keil IDE的MDK
  • 基于UmiJs开发移动端的自适应配置方案

    在移动端开发过程中 响应式布局是必须要考虑的一个问题 基于UmiJs开发时 使用的组件库是antd mobile 通过在 umirc js中添加配置项 及可以通过对于的postCss插件postcss px to viewport解决响应式
  • 转载 十分钟理解Actor模式

    Actor模式是一种并发模型 与另一种模型共享内存完全相反 Actor模型share nothing 所有的线程 或进程 通过消息传递的方式进行合作 这些线程 或进程 称为Actor 共享内存更适合单机多核的并发编程 而且共享带来的问题很多
  • 【C++】哈希和unordered系列封装

    1 哈希 1 1 哈希概念 顺序结构以及平衡树中 元素关键码与其存储位置之间没有对应的关系 因此在查找一个元素时 必须要经过关键码的多次比较 顺序查找时间复杂度为O N 平衡树中为树的高度 即O l o g 2 N
  • XMind 各版本官网下载地址

    本博文为备份用 所有链接皆为官网地址 请勿无耻举报 本文仅为软件备份用 方便大家下载官方原装软件 以下版本皆非最新版本 仅备份未列于官网上的软件 其他软件自行去这里下载 http www xmind net download previou
  • 解决Error L6218E Undefined symbol XXX....问题

    分享一个keil的错误编译提示以及其问题解决方法 当我们碰到 Error L6218E Undefined symbol XXX 这个错误提示 其实出现这问题的原因就是我们调用了没有定义的函数 就比如你把一个函数定义注释了 然后却在程序调用
  • Arduino STM32F103C8T6(BluePill) 教程六 STM32 IO操作(LED灯蜂鸣器继电器ADC/PWM)

    Arduino STM32F103C8T6 BluePill 教程六 STM32 IO操作 LED灯蜂鸣器继电器ADC PWM 1 IO操作的 pinMode 函数 形式 void pinMode uint8 pin WiringPinMo
  • eNSP入门介绍(超级超级详细!!!)

    Ensp Enterprise Network Simulation Platform 是华为提供的一款网络仿真平台 主要用于学习 实践和测试企业网络场景 Ensp可以模拟各种网络设备 如交换机 路由器 防火墙等 创建以太网 无线网络等多种
  • COLMAP稀疏重建得图像内外参文件

    前言 一 DTU数据集 二 COLMAP操作步骤 1 安装COLMAP 2 COLMA稀疏重建 总结 前言 整个流程是 第一节用COLMAP求出DTU训练数据集内外参数 第二节处理COLMAP得到的images txt文件中外参 一 DTU
  • listview添加数据_ListView 使用详解

    和你一起终身学习 这里是程序员Android 经典好文推荐 通过阅读本文 您将收获以下知识点 一 ListView 简介二 ListView 常用属性三 ListView主要使用方法如下四 使用android entries 为ListVi
  • 用set_series_opts在PyEcharts中实现系列配置

    全局配置项可通过 set global opts 方法设置 笔记仅是个人的学习笔记总结 如有雷同请见谅 系列配置顶 用法 1 先创建数据 from pyecharts charts import Bar from pyecharts fak
  • 开启XP远程桌面的网络级身份验证(NLA)模式

    indows XP SP3下不支持网络级别身份验证 而Vista Windows 7则支持 那么 何谓网络级身份验证呢 网络级别身份验证 NLA Network Level Authentication 是一种新的身份验证方法 在你建立远程
  • YOLOV3实战6:显示中文标签(YOLOV3中文标签)

    一 番外说明 大家好 我是小P 今天在此给大家分享一下基于DarknetAB版本的YOLOV3如何生成和显示中文标签的方法 效果如下图所示 希望大家支持和喜欢 此外 对 目标检测 模型压缩 语义分割 感兴趣的小伙伴 欢迎加入QQ群 8132
  • openwrt在7620A上对fat格式U盘的支持

    openwrt刷好的固件 在7620a上运行时 可以看到设备节点 但是mount一直提示codepage cp437 not found make menuconfig发现 确实对cp437没有选 路径在Kernel modules gt
  • Swift5.X版本StoreKit原生内购

    内购是移动端一值在讨论的话题 每次上架内购功能要做好被拒的准备 小萌在2年前也做过内购 是OC版本 回想那段往事一把血泪呀 被拒了无数次才把内购功能送上AppStore 小萌之前的OC内购 中间也经历了不少的困难 详情请看苹果内购审核那些被
  • stc单片机使用外部中断+EC11编码器实现计数功能

    stc单片机使用外部中断 EC11编码器实现计数功能 相关篇 STC15 8单片机特有的PWM寄存器和普通定时器实现PWM输出 串口输出测试效果 EC11编码器原理图 EC11编码器输出信号说明 检测说明 以EC11 A信号作为一个时钟基准
  • 基于session的验证方式和Token验证方式的区别,以及JWT的具体实现流程

    1 传统的cookie认证过程 长期以来 基于Session的认证 Session based authentication 一直处于主流地位 由于http协议是无状态的 借助cookie 客户端登陆成功后 服务端就能识别其后续请求 而不需
  • 一篇文章帮你搞定JQuery

    一篇文章帮你搞定JQuery 1 动画 1 1 三种方式显示和隐藏事实 1 1 1 默认显示和隐藏方式 1 1 2 滑动显示和隐藏方式 1 1 3 淡入淡出显示和隐藏方式 2 遍历 2 1 js的遍历方式 2 2 jq的遍历方式 3 事件绑
  • 腾讯云函数SCF初探

    前不久的微信开发者大会上在推他们的Serverless架构 即他们的产品腾讯云函数SCF 当然这个也不是新鲜的事物 在亚马逊提供的同类服务叫做lambda 阿里云提供的则叫做函数计算 Cloudflare的则名为workers 在编程语言的