云函数部署
控制台
登录腾讯云Serverless 控制台,单击左侧导航栏的函数服务可以创建云函数,也可以单机左侧导航栏的Serverless 应用来新建应用
新建云函数参考:控制台新建云函数
新建Serverless应用参考:控制台新建Serverless应用
命令行工具
实际上,大多数开发人员喜欢用scf(以前是sls)命令来部署应用。控制台的模板源码包其实scf工具也可以复用部署
scf工具部署云函数参考:scf工具部署云函数
vs code插件
Tencent Serverless Toolkit for VS Code 是腾讯云 Serverless 产品的 VS Code(Visual Studio Code)IDE 的插件。该插件可以让您更好的在本地进行 Serverless 项目开发和代码调试,并且轻松将项目部署到云端
参考:vs code插件部署云函数
scf工具使用cos代码部署应用
大部分时候,用户代码是在本地,使用旧版sls部署应用会把本地代码上传到cos,这种情况会偶现如下报错,原因sls服务是在广州区域,上传到客户其他区域跨地域可能会有超时
代码语言:javascript复制{"Code":"UPLOAD_CODE","Message":"Upload cos failed, please check bucket exist or not."}
基于此,可以在serverless.yml中配置指定cos,这样不会在服务端走上传流程。
scf工具安装和配置
参考scf工具安装
参考scf配置
scf安装
- scf安装 需要环境中已安装好了 Node(版本需要 > 12)
npm i -g serverless-cloud-framework
- 查看scf版本
scf -v
scf工具配置
- scf需要配置secretid和secretkey。并且需要给子账号关联相关策略
scf credentials set --secretId xxx --secretKey xxx
上传代码包到cos
- 创建存储桶,参考文档:创建存储桶
- 在存储桶创建个代码目录,这里以williamji-scf-cos为例
- 本地把代码打包,注意是源码打包,不是serverless应用打包。这里参考把index.js代码打包
zip index.js.zip index.js
- 在cos控制台对应代码目录上传代码zip包,上传后样例如下
serverless.yml配置
- 使用scf工具需要配置serverless.yml,scf工具部署依赖serverless.yml里面的配置
- 使用cos源码部署应用的serverless.yml样例如下:
component: scf
name: scf-nodejs-cos
app: williamji-test-scf
inputs:
src:
bucket: <bucket-name> # 桶名,例如<name>-<appid>
object: /williamji-scf-cos/index.js.zip # cos源码包路径
description: deploy application from cos code
handler: index.main_handler
runtime: Nodejs10.15
name: williamji-cos
region: ap-guangzhou
memorySize: 128
timeout: 10
- 在serverless.yml同级目录使用sls deploy部署应用即可
- 到控制台查看对应的云函数是否存在