tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表

命令行部署 Web 函数

PDF
聚焦模式
字号
最后更新时间: 2024-03-21 18:35:11

操作场景

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

操作步骤

1. 执行以下命令,初始化 Serverless Web 函数模版。
sls init http-demo
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. 在根目录下执行 sls 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 › 执行成功

相关命令

查看访问日志

与事件型函数相同,可直接通过 `sls 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/

删除服务

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


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈