上云无忧 > 文档中心 > 腾讯云云Web函数使用教程 - 命令行部署 Web 函数
云函数 SCF
腾讯云云Web函数使用教程 - 命令行部署 Web 函数

文档简介:
操作场景: Web 函数是腾讯云云函数 SCF 新支持的函数能力,区别于事件函数(Event Function)对于事件格式的限制,该类型函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,详情请参见 函数概述。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

Web 函数是腾讯云云函数 SCF 新支持的函数能力,区别于事件函数(Event Function)对于事件格式的限制,该类型函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,详情请参见 函数概述
Serverless Cloud Framework SCF 组件现已支持 Web 类型函数部署,您可以通过 SCF 组件,快速创建与部署 Web 函数。

操作步骤

1. 执行以下命令,初始化 Serverless Web 函数模板。
		
scf init scf-nodejs
2. 进入示例项目,查看目录结构。示例如下:
		
. http-demo
├── serverless.yml # 配置文件
├── package.json # 依赖项文件
├── scf_bootstrap # 项目启动文件
└── index.js # 服务函数
其中 scf_bootstrap 为项目启动文件,具体编写规则请参见 启动文件说明
3. 打开 serverless.yml,查看配置信息。 您只需要在 yml 里新增 type 参数,指定函数类型,即可完成 Web 类型函数部署。
注意
对于 Web 类型函数,无需再指定入口函数。
不填 type 参数时,默认为事件型函数。
如果本地代码里无 scf_bootstrap 启动文件,您可以在 yml 里指定 entryFile 参数指定入口函数,组件会根据运行语言,为您生成默认 scf_bootstrap 启动文件完成部署。部署完成后,需根据您的实际项目情况,在 云函数控制台 修改 scf_bootstrap 文件内容。
示例 yml 如下:
		
component: scf
name: http
inputs:
src:
src: ./
exclude:
- .env
# 指定 SCF 类型为 Web 类型
type: web
name: web-function
region: ap-guangzhou
runtime: Nodejs12.16
# 对于 Node.js,可以支持打开自动安装依赖
installDependency: true
events:
- apigw:
parameters:
protocols:
- http
- https
environment: release
endpoints:
- path: /
method: ANY
4. 在根目录下执行 scf deploy 命令,即可完成服务部署。示例如下:
		
$ scf deploy
serverless-cloud-framework
Action: "deploy" - Stage: "dev" - App: "http" - Name: "http"
type: web
functionName: web-function
description: This is a function in http application
namespace: default
runtime: Nodejs12.16
handler:
memorySize: 128
lastVersion: $LATEST
traffic: 1
triggers:
-
NeedCreate: true
created: true
serviceId: service-xxxxxx
serviceName: serverless
subDomain: service-xxxxxx.cd.apigw.tencentcs.com
protocols: http&https
environment: release
apiList:
-
path: /
method: ANY
apiName: index
created: true
authType: NONE
businessType: NORMAL
isBase64Encoded: false
apiId: api-xxxxxx
internalDomain:
url: https://service-xxxx.cd.apigw.tencentcs.com/release/
18s › http › 执行成功

相关命令

查看访问日志

与事件型函数相同,可直接通过 scf log 命令查看部署完成的函数最近10条日志信息。示例如下:
		
$ scf log
serverless-cloud-framework
Action: "log" - Stage: "dev" - App: "http" - Name: "http"
-
requestId: xxxxx
retryNum: 0
startTime: 1624262955432
memoryUsage: 0.00
duration: 0
message:
"""
-
requestId: xxxxx
retryNum: 0
startTime: 1624262955432
memoryUsage: 0.00
duration: 0
message:
"""

测试服务

方案 1:在浏览器直接打开输出的路径 URL,如果可以正常访问,则说明函数创建成功。如下图所示:

方案 2:您可以使用其他 HTTP 测试工具,例如 CURL、POSTMAN 等工具测试您已创建成功的 Web 函数。如下示例为通过 CURL 工具测试:
		
curl https://service-xxx.cd.apigw.tencentcs.com/release/

删除服务

执行以下命令,即可移除您已部署的云上资源。
		
scf remove

Web 框架迁移

Serverless Cloud Framework 还提供了专门针对 Web 框架部署的 HTTP 组件,快速实现 Web 框架部署、创建层、静态资源分离、CDN 加速等功能,使用方式请参见 通过命令行完成框架部署
相似文档
  • Web 函数目前已经支持通过原生 WebSocket 协议在客户端和函数运行的服务端间建立连接。
  • SSE(Server-sent Events)是 WebSocket 的一种轻量代替方案,是一种服务器端到客户端(浏览器)的单向流式消息推送协议,在 AI 生成对话等场景下较为常见。Web 函数目前已经支持通过 SSE 协议在客户端和函数运行的服务端间建立连接。
  • 请求单并发: 默认情况下,在调用函数时,云函数会分配一个并发实例处理请求或事件。函数代码运行完毕返回后,该实例会处理其他请求。如果在请求到来时,所有实例都在运行中,云函数则会分配一个新的并发实例。一个并发实例同一时刻仅处理一个事件的运行逻辑,保障每个事件的处理效率和稳定性。
  • 操作场景: 云函数 SCF 于2021年01月29日起进行日志服务升级,接入腾讯云日志服务 CLS,在此日期前创建的函数正在按地域逐渐进行迁移,详情可参见 云函数日志服务变更说明。
  • 云函数 SCF 日志按条写入日志服务 CLS,每次请求的日志由多条组成,每条日志均为固定的 键:值 格式。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部