上云无忧 > 文档中心 > 腾讯云 Serverless 应用中心 - 云函数 SCF 组件
Serverless 应用中心
腾讯云 Serverless 应用中心 - 云函数 SCF 组件

文档简介:
组件概述: 腾讯云 SCF 云函数组件通过使用 Tencent Serverless Cloud Framework,基于云上 Serverless 服务(云函数及触发器等),实现“0”配置,便捷开发,极速部署您的第一个云函数,该组件支持丰富的配置扩展,提供了目前最易用、低成本并且弹性伸缩的云函数的开发、配置及部署能力。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

组件概述

腾讯云 SCF 云函数组件通过使用 Tencent Serverless Cloud Framework,基于云上 Serverless 服务(云函数及触发器等),实现“0”配置,便捷开发,极速部署您的第一个云函数,该组件支持丰富的配置扩展,提供了目前最易用、低成本并且弹性伸缩的云函数的开发、配置及部署能力。

快速入门

前提条件

已经安装 Serverless Cloud Framework 。详情见 安装 Serverless Cloud Framework。
账号开通 Serverless 相关权限。详情请参见 账号和权限配置。

操作步骤

创建

方式1:按照 快速部署 操作,选择 SCF 项目模板进行创建。
方式2:直接使用 scf init 命令创建。快速创建一个 nodejs 的 SCF 示例:
		
scf init scf-nodejs
说明
目前 SCF 组件支持的 helloworld 模板有:scf-golang、scf-php、scf-python,只需要将命令中的 scf-nodejs 更换为前面列出的模板名称,即可快速初始化相应语言模板。

部署

执行以下命令,将会弹出二维码,直接扫码授权进行部署:
		
scf deploy
说明
如果鉴权失败,请参考 权限配置 进行授权。

查看

执行以下命令,查看您部署的项目信息:
		
scf info

移除

执行以下命令,移除您已经部署的项目:
		
scf remove

进阶指导

serverless.yml

执行 scf deploy 时,根据 serverless.yml 文件中的配置对云函数资源进行创建或更新。一份简单的 serverlesss.yml 文件如下:
说明
配置详情请参见 全量配置文档。
		
#scf组件配置样例
#组件信息
component: scf # (必填) 引用 component 的名称,当前用到的是 tencent-scf 组件
name: scfdemo # (必填) 创建的实例名称,请修改成您的实例名称
#组件参数
inputs:
name: ${name}-${stage}-${app} #函数名称
src: ./ #代码路径
handler: index.main_handler #入口
runtime: Nodejs10.15 # 云函数运行时的环境
region: ap-guangzhou # 云函数所在区域
events: # 触发器
- apigw: # 网关触发器
parameters:
endpoints:
- path: /
method: GET
serverless.yml 文件包含的信息:

组件信息

组件名
是否必选
说明
component
必填
component 的名称,使用scf registry命令查询您可以引入的组件。
name
必填
创建的实例名称,每个组件在部署时将创建一个实例。

参数信息

inputs 下的参数为组件配置参数。一个简单的 SCF 组件参数配置包含以下内容:
参数名
说明
name
云函数名称。由于云函数名称又是资源 ID,为了保证资源的唯一性,建议采用 ${name}-${stage}-${app} 变量方式。
src
代码路径。
handler
函数处理方法名称。
runtime
云函数运行环境,目前支持: Python2.7、Python3.6、Nodejs6.10、Nodejs8.9、Nodejs10.15、Nodejs12.16、PHP5、PHP7、Go1、Java8 和 CustomRuntime。
region
云函数所在的区域。
events
触发器。支持的触发器为:timer、apigw、cos、cmq、ckafka。

账号权限

部署实例时需要账号授权去操作具体的云资源,目前可以通过两种方式进行授权:扫码授权和密钥授权。
扫码授权:能快速进行授权部署,但生成的凭证是临时凭证,过期后需要重新扫码。
密钥授权:能够获得永久授权,需要预先配置账号的 SecretId 和 SecretKey 。
配置详情请参见 权限配置。

开发调试

在 serverless.yml文件所在的目录下运行 scf dev 可以实时输出云端日志,每次部署完毕后,对项目进行访问,即可在命令行中实时输出调用日志,便于查看业务情况和排障。nodejs 支持开启开发调试能力,将会对本地代码的改动进行检测和自动上传。详情请参见 开发与调试。

应用管理

Serverless 部署一个组件实例实质是部署了一个单组件实例的应用。在应用项目开发过程中,一个应用下可能会存在多个组件实例,关于管理组件实例进行应用项目开发的说明,详情请参见 应用管理。

组件命令

云函数组件提供了组件级的命令。对于scf deploy命令部署成功的云函数,可以通过以下命令操作云函数。
说明
命令必须在 serverless.yml 同目录下执行。

函数发版本

将函数 my-function 云端的 $LATEST 版本发布为一个固定版本:
		
scf deploy --inputs publish=true function=my-function

函数新增版本

将函数 my-function 云端的 $LATEST 版本新增一个版本名为 Version1 的函数版本:
		
scf deploy --inputs publish=true qualifier=Version1 function=my-function

创建别名

给云函数 my-function 创建别名 routing-alias,路由规则为版本1流量为50%,版本2流量为50%:
		
scf create-alias --inputs name=routing-alias function=my-function version=1
config='{"weights":{"2":0.5}}'

更新别名

更新云函数 my-function 别名 routing-alias 的流量规则为版本1流量为10%,版本2流量为90%:
		
scf update-alias --inputs name=routing-alias function=my-function version=1 config='{"weights":{"2":0.9}}'

列举别名

列举云函数 my-function 别名 routing-alias:
		
scf list-alias --inputs function=my-function

删除别名

删除云函数 my-function 的别名 routing-alias:
		
scf delete-alias --inputs name=routing-alias function=my-function

触发函数

云端调用 functionName 函数,并传递 json 参数{"weights":{"2":0.1}}:
		
scf invoke --inputs function=functionName clientContext='{"weights":{"2":0.1}}'

配置详情

全部配置

		
# serverless.yml
#应用组织信息
app: '' # 应用名称。留空则默认取当前组件的实例名称为app名称。
stage: '' # 环境名称。默认值是 dev。建议使用${env.STAGE}变量定义环境名称
#组件信息
component: scf # (必选) 组件名称,在该实例中为scf
name: scfdemo # (必选) 组件实例名称。
#组件参数配置
inputs:
name: scfdemo # 云函数名称,默认为 ${name}-${stage}-${app}
namespace: default
role: exRole # 云函数执行角色
# 1. 默认写法,新建特定命名的 cos bucket 并上传
src: ./src
# 2. src 为对象,并且制定忽略上传文件夹 node_modules
# src:
# src: ./code
# exclude:
# - 'node_modules/**'
# 3. 指定 bucket name 和文件的方式,直接上传 cos 中的文件部署云函数
# src:
# bucket: tinatest # bucket name 存储桶名称
# object: 'code.zip' # bucket key 指定存储桶内的文件
# 4. 指定本地文件到 bucket
# src:
# bucket: tinatest # bucket name
# src: # 指定本地路径
type: event # 函数类型,默认为 event(事件类型),web(web类型)
handler: index.main_handler #入口(函数类型为事件类型时生效)
entryFile: app.js #入口文件名(代码中无scf_bootstrap文件,且函数类型为web类型时生效)
runtime: Nodejs10.15 # 运行环境 默认 Nodejs10.15
region: ap-guangzhou # 函数所在区域
description: This is a function in ${app} application.
memorySize: 128 # 内存大小,单位MB
timeout: 20 # 函数执行超时时间,单位秒
initTimeout: 3 # 初始化超时时间,单位秒
environment: # 环境变量
variables: # 环境变量对象
TEST: value
publicAccess: true # 是否开启公网访问
installDependency: false # 是否在线安装依赖
vpcConfig: # 私有网络配置
vpcId: vpc-xxx # 私有网络的Id
subnetId: subnet-xxx # 子网ID
cfs: # cfs配置
- cfsId: cfs-123
mountInsId: cfs-123
localMountDir: /mnt/
remoteMountDir: /
deadLetter: # 死信队列配置
type: deadLetterType
name: deadLetterName
filterType: deadLetterFilterType
layers: #layer配置
- name: scfLayer # layer名称
version: 1 # 版本
cls: # 函数日志
logsetId: ClsLogsetId
topicId: ClsTopicId
eip: false # 是否开启固定IP
asyncRunEnable: false # 是否启用异步执行(长时间运行)
traceEnable: false # 是否状态追踪
msgTTL: 21600 # 消息保留时间,单位秒
retryNum: 2 # 重试次数
tags: #标签配置
key1: value1
key2: value2 # tags 的key value
ignoreTriggers: false # 是否忽略触发器部署
image: # 镜像配置
registryId: tcr-xxx # 容器镜像服务名称,企业版必须
imageType: personal # 镜像类型:personal - 个人,enterprise - 企业版,public - 镜像模板
imageUrl: ccr.ccs.tencentyun.com/sls-scf/nodejs_test:latest@sha256:xxx
command: node index.js # 容器启动命令
args: test # 容器启动参数
events: # 触发器
- timer: # 定时触发器
parameters:
# name: timer # 触发器名称,默认timer-${name}-${stage}
qualifier: $DEFAULT # 别名配置
cronExpression: '*/5 * * * * * *' # 每5秒触发一次
enable: true
argument: argument # 额外的参数
- apigw: # api网关触发器,已有apigw服务,配置触发器
parameters:
serviceName: serverless
serviceId: service-8dsikiq6
protocols:
- http
netTypes:
- OUTER
description: the serverless service
environment: release
endpoints:
- path: /users
method: POST
- path: /test/{abc}/{cde}
apiId: api-id
apiName: index
method: GET
description: Serverless REST API
enableCORS: true
responseType: HTML
serviceTimeout: 10
isBase64Encoded: false
isBase64Trigger: false
base64EncodedTriggerRules:
- name: Accept
value:
- image/jpeg
- name: Content_Type
value:
- image/jpeg
param:
- name: abc
position: PATH
required: true
type: string
defaultValue: abc
desc: mytest
- name: cde
position: PATH
required: true
type: string
defaultValue: abc
desc: mytest
function:
isIntegratedResponse: true
functionQualifier: $DEFAULT
usagePlan:
usagePlanId: 1111
usagePlanName: slscmp
usagePlanDesc: sls create
maxRequestNum: 1000
auth:
secretName: secret
secretIds:
- xxx
- cos: # cos触发器
parameters:
qualifier: $DEFAULT # 别名配置
bucket: cli-appid.cos.ap-beijing.myqcloud.com
filter:
prefix: filterdir/
suffix: .jpg
events: 'cos:ObjectCreated:*'
enable: true
- cmq: # CMQ Topic 触发器
parameters:
qualifier: $DEFAULT # 别名配置
name: test-topic-queue
enable: true
filterType: 1 # 消息过滤类型,1为标签类型,2为路由匹配类型
filterKey: # 当 filterType 为1时表示消息过滤标签,当 filterType 为2时表示 Binding Key
- key1
- key2
- ckafka: # ckafka触发器
parameters:
qualifier: $DEFAULT # 别名配置
name: ckafka-xxx
topic: test
maxMsgNum: 999
retry: 10000
offset: latest
timeout: 60
enable: true
- cls: # cls 触发器
parameters:
qualifier: '$DEFAULT' # 别名配置
topicId: 'xxx-228b-42f5-aab5-7f740cc2fb11' # 日志主题 ID
maxWait: 60 # 最长等待时间,单位秒
enable: true
- mps: # mps 触发器
parameters:
qualifier: '$DEFAULT' # 别名配置
type: EditMediaTask # 事件类型
enable: true

配置描述

主要的参数如下,详情请参见 创建函数。
参数名称
必选
类型
默认值
描述
src
是
Src
-
函数代码路径。
type
否
string
event
函数类型,支持:event、web。
name
否
string
-
创建的函数名称。云函数名称,字段字符需满足只能包含字母、数字、下划线、连字符,以字母开头,以数字或字母结尾,2-60个字符。
namespace
否
string
default
函数命名空间。
handler
否
string
index.main_handler
函数处理方法名称,执行方法表明了调用云函数时需要从哪个文件中的哪个函数开始执行(函数类型为 web 时生效)。
entryFile
否
string
-
函数入口文件名,默认根据运行环境指定默认文件名。Nodejs 为 app.js,Python 环境为 app.py,php 环境为 hello.php(函数类型为 web 时生效)。
role
否
string
-
云函数绑定的运行角色。
runtime
否
string
Nodejs10.15
函数运行环境 (web 函数目前仅支持 Nodejs、Python、Php 三类环境)。目前仅支持 Nodejs6.10,Nodejs8.9,Nodejs10.15,Nodejs12.16,Nodejs14.18,Nodejs16.13,Python2.7,Python3.6,Python3.7,PHP5,PHP7,Go1,Java8,Java11 和 CustomRuntime。使用 CustomRuntime 部署详情请参见 CustomRuntime。
region
否
string
ap-guangzhou
云函数所在区域。详情请参见产品支持的 地域列表。
description
否
string
-
函数描述,最大支持1000个英文字母、数字、空格、逗号、换行符和英文句号,支持中文。
memorySize
否
number
128
函数运行时内存大小,可选范围64、128MB-3072MB,并且以128MB 为阶梯。
timeout
否
number
3
函数最长执行时间,单位为秒,可选值范围1-900秒。
initTimeout
否
number
3
函数初始化超时时间,单位为秒,可选值范围3-300秒。
eip
否
boolean
false
是否固定出口 IP。
publicAccess
否
number
true
是否开启公网访问。
environment
否
Environment
-
函数的环境变量,配置参见 环境变量。
vpcConfig
否
Vpc
-
函数的私有网络配置,配置参数参见 私有网络。
layers
否
Layer[]
-
云函数绑定的 layer,配置参数参见 层配置。
deadLetter
否
DeadLetter
-
死信队列配置,配置参数参见 死信队列。
cls
否
Cls
-
函数日志配置,配置参数参见 函数日志。
eip
否
boolean
false
固定出口 IP。默认为 false,即不启用。
asyncRunEnable
否
boolean
false
是否启用异步执行(长时间运行),默认最大支持12小时,如果配置为 true,cls(函数日志配置) 必选。此参数只有在函数创建时才有效。
traceEnable
否
boolean
false
是否启用状态追踪,如果要配置为 true,必须配置 asyncRunEnable 同时为 true。
msgTTL
否
number
21600
异步执行消息保留时间,单位秒,仅 asyncRunEnable 为 true 时有效。
retryNum
否
number
2
重试次数,仅 asyncRunEnable 为 true 时有效。
installDependency
否
boolean
false
是否自动在线安装依赖。
tags
否
-
-
标签设置。可设置多对 key-value 的键值对。
cfs
否
Cfs[]
-
文件系统挂载配置,用于云函数挂载文件系统。配置参数详情请参见 文件系统。
ignoreTriggers
否
boolean
false
是否忽略触发器,如果设置为 true,events 参数将不起作用,组件将至更新函数配置和代码。
events
否
Event[]
-
触发器配置。
image
否
Image
-
镜像配置。
protocolType
否
string
-
HTTP 函数支持的访问协议。当前支持 WebSockets 协议,值为 WS,只有 type:web 时此配置生效。
protocolParams
否
ProtocolParams
-
HTTP 函数配置 ProtocolType 访问协议,当前协议可配置的参数,主要是配置空闲超时时间。
provisionedNum
否
number
-
预置并发数量。需注意所有版本的预置并发数总和存在上限限制。当前的上限是函数最大并发配额为100。
qualifier
否
number
-
函数的版本号,请注意:\$LATEST 版本不支持预置并发。

Src

代码目录。
参数名称
必选
类型
默认值
描述
src
是
string
-
代码路径。与 object 不能同时存在。
exclude
否
string[]
-
不包含的文件或路径,遵守 glob 语法。
bucket
否
string
-
存储桶名称,配置前需确认桶是否存在。
object
否
string
-
部署的代码在存储桶中的路径。
注意:
如果配置了 src,表示部署 src 参数指定目录的代码并压缩成 zip 后上传到对应的存储桶中;如果配置了 object,表示获取对应存储桶中 object 对应的代码进行部署。

Environment

环境变量。
参数名称
类型
描述
variables
Array of Variable
环境变量参数,包含多对 key-value 的键值对。

Vpc

私有网络。
参数名称
必选
类型
描述
vpcId
否
string
私有网络的 Id
subnetId
否
string
子网的 Id

DeadLetter

死信队列。
名称
必选
类型
描述
Type
是
string
死信队列模式
Name
是
string
死信队列名称
FilterType
否
string
死信队列主题模式的标签形式

Layer

层配置。
参数名称
必选
类型
描述
name
是
string
层名称
version
是
number
层版本号

Cls

函数日志。
参数名称
必选
类型
描述
logsetId
否
string
日志集 Id
topicId
否
string
日志主题 Id

Cfs

文件系统,使用文件系统必须配置 私有网络,并保证 cfs 文件系统与云函数在同一个私有网络下。
参数名称
必选
类型
描述
cfsId
是
String
文件系统实例 Id
mountInsId
是
String
文件系统挂载点 Id
localMountDir
是
String
本地挂载点
remoteMountDir
是
String
远程挂载点

Event

触发器,触发器配置为数组,按照配置的 name 和 param 创建触发器。支持以下触发器:
触发器类型
描述
timer
定时触发器
apigw
API 网关触发器
cos
COS 触发器
cmq
CMQ 主题订阅触发器
ckafka
CKafka 触发器
cls
CLS 触发器
mps
MPS 触发器
注意:
对于 API 网关触发器,如果没有配置网关服务 ID(serviceId),则自动创建一个 API 网关服务,对于其他触发器仅执行配置触发器,不涉及服务资源创建。
参数名称
必选
类型
默认值
描述
parameters
是
object
-
根据触发器类型,参考触发器参数表。
name
否
string
触发器类型-${name}-${stage}-${app}
触发器名称。
详情请参见 官方触发器配置描述。

定时触发器

详情请参见 定时触发器说明。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
cronExpression
是
string
-
触发时间,为 Cron 表达式。
argument
否
object
-
附加信息参数。
enable
否
boolean
false
触发器是否启用。

COS 触发器

详情请参见 COS触发器说明。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
bucket
是
string
-
配置的 COS Bucket,仅支持选择同地域下的 COS 存储桶。
filter
是
CosFilter
-
COS 文件名的过滤规则。
events
是
string
-
详情请参见 COS 的事件类型。
enable
否
boolean
false
触发器是否启用。

CMQ 触发器

说明:
添加 CMQ 触发器,需要给 SLS_QcsRole 添加 QcloudCMQFullAccess 策略。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
name
是
string
-
CMQ Topic 主题队列名称。
filterType
否
number
-
消息过滤类型,1为标签类型,2为路由匹配类型。
filterKey
否
string[]
-
当 filterType 为1时表示消息过滤标签,当 filterType 为2时表示 Binding Key。
enable
否
boolean
false
触发器是否启用。

Ckafka 触发器

说明:
添加 CKafka 触发器,需要给 SLS_QcsRole 添加 QcloudCKafkaFullAccess 策略。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
name
是
string
-
配置连接的 CKafka 实例,仅支持选择同地域下的实例。
topic
是
string
-
支持在 CKafka 实例中已经创建的 Topic。
maxMsgNum
是
number
100
5秒内每汇聚 maxMsgNum 条 Ckafka 消息,则触发一次函数调用。
offset
是
string
latest
offset 为开始消费 Ckafka 消息的位置,目前只能填写 latest。
retry
是
number
10000
重试次数,函数调用失败时的最大重试次数。
timeout
是
number
60
单次触发的最长等待时间,最大60秒。
enable
否
boolean
false
触发器是否启用。

API 网关触发器

说明:
如果配置多个 API 网关触发器,需要配置不同的 serviceName。
参数名称
必选
类型
默认值
描述
environment
否
string
release
发布的环境,填写 release、test 或 prepub,不填写默认为release。
serviceId
否
string
-
网关 Service ID(不传入则新建一个 Service)。
instanceId
否
string
-
网关实例 ID,填写则使用独享型实例创建 API 网关,否则创建共享型实例(该项只能在创建时指定,创建后无法修改)。
protocols
否
string[]
['http']
前端请求的类型,如 http,https,http 与 https。
netTypes
否
string[]
['OUTER']
网络类型,如 ['OUTER'], ['INNER'] 与['OUTER', 'INNER']
serviceName
否
string
-
网关 API 名称。如果不传递则默认新建一个名称与触发器名称相同的 Apigw API 名称。
description
否
string
-
网关 API 描述。
endpoints
是
object[]
-
详情见 endpoint 参数。

endpoints 参数

详情请参见 创建 API 接口。
参数名称
必选
类型
默认值
描述
path
是
string
-
API 的前端路径,如 /path。
method
否
string
-
API 的前端请求方法,如 GET,支持的参数有:["ANY","GET","HEAD","POST","PUT","DELETE"]
apiId
否
string
-
API ID。如果不传递则根据 path 和 method 创建一个,传递了直接忽略 path 和 method 参数。
apiName
否
string
-
API 名称。
description
否
string
-
API 描述。
enableCORS
否
boolean
false
是否需要开启跨域。
responseType
否
string
-
自定义响应配置返回类型,现在只支持 HTML、JSON、TEST、BINARY、XML(此配置仅用于生成 API 文档提示调用者)。
serviceTimeout
否
number
15
API 的后端服务超时时间,单位是秒,取值范围:1-1800 秒。
param
否
Parameter
-
前端参数。
function
否
Function
-
SCF 配置。
usagePlan
否
UsagePlan
-
使用计划。
auth
否
Auth
-
API 密钥配置。
authType
否
string
NONE
NONE 或 APP。
app
否
App
-
API 绑定 APP 配置。
isBase64Encoded
否
boolean
false
是否开启 Base64 编码,只有后端为 scf 时才会生效。
isBase64Trigger
否
boolean
false
是否开启 Base64 编码的 header 触发,只有后端为 scf 时才会生效。
base64EncodedTriggerRules
否
Base64Rule[]
[]
Header 触发 Base64 编码规则,总规则数不能超过10,只有 isBase64Trigger 设置为 true 才有效。

Parameter

前端参数。
参数名称
必选
类型
默认值
描述
name
否
string
-
API 的前端参数名称。
position
否
string
-
API 的前端参数位置。当前仅支持 PATH、QUERY、HEADER 。
required
否
boolean
-
API 的前端参数是否必填,true:表示必填,false:表示可选。
type
否
string
-
API 的前端参数类型,如 String、Int 等。
defaultValue
否
string
-
API 的前端参数默认值。
desc
否
string
-
API 的前端参数备注。

Function

SCF 配置。
参数名称
必选
类型
默认值
描述
isIntegratedResponse
否
boolean
false
是否启用 SCF 集成响应。
functionQualifier
否
string
$DEFAULT
触发器关联的 SCF 版本 。

UsagePlan

使用计划,详情请参见 创建使用计划。
参数名称
必选
类型
描述
usagePlanId
否
string
用户自定义使用计划 ID。
usagePlanName
否
string
用户自定义的使用计划名称。
usagePlanDesc
否
string
用户自定义的使用计划描述。
maxRequestNum
否
number
请求配额总数,如果为空,将使用-1作为默认值,表示不开启。

Auth

API 密钥配置,详情请参见 创建密钥。
参数名称
必选
类型
描述
secretName
否
string
密钥名称
secretIds
否
string
密钥 ID

APP

API 绑定 APP 配置,详情请参见 应用管理。
参数名称
必选
类型
描述
name
否
string
用户自定义 APP 名称
id
否
string
APP ID
description
否
string
用户自定义 APP 描述

Base64Rule

Header 触发 Base64 编码规则,总规则数不能超过 10,只有 isBase64Trigger 设置为 true 时生效。详情请参见 Base64 编码。
参数名称
类型
描述
name
string
进行编码触发的 header,可选值 "Accept" 和 "Content_Type" 对应实际数据流请求 header 中的 Accept 和 Content-Type。
value
string[]
进行编码触发的 header 的可选值数组, 数组元素的字符串最大长度为40,元素可以包括数字,英文字母以及特殊字符,特殊字符的可选值为: . + * - / _
例如 value 可以配置为:
		
value:
- application/zip

CLS 触发器

说明:
添加 CLS 触发器,需要给 SLS_QcsRole 添加 QcloudCLSFullAccess 策略。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
topicId
是
string
-
CLS 日志主题 ID。
maxWait
否
number
60
最长等待时间,单位秒。
enable
否
boolean
false
触发器是否启用。

MPS 触发器

说明:
添加 MPS 触发器,需要给 SLS_QcsRole 添加 QcloudMPSFullAccess 策略。
参数名称
必选
类型
默认值
描述
qualifier
否
string
$DEFAULT
触发版本,默认为 $DEFAULT,即默认流量。
type
是
string
-
事件类型。
WorkflowTask:工作流任务
EditMediaTask:视频编辑任务
enable
否
boolean
false
触发器是否启用。

关于 API 网关 Base64 编码

注意:
开启 API 网关 Base64 编码的后端必须是云函数。
如果需要开启 API 网关 Base64 编码,必须配置 isBase64Encoded 为 true,此时每次请求的请求内容都会被 Base64 编码后再传递给云函数。如果想要部分请求 Base64 编码,可以通过配置 isBase64Trigger 为 true,配置 base64EncodedTriggerRules Header 触发规则,此时 API 网关将根据触发规则对请求头进行校验,只有拥有特定 Content-Type 或 Accept 请求头的请求会被 Base64 编码后再传递给云函数,不满足条件的请求将不进行 Base64 编码,直接传递给云函数。详情请参见官方介绍文档 Base64 编码。

Image

镜像相关配置如下:
参数名称
必选
类型
默认值
描述
imageUrl
是
string
-
镜像版本 URL。
registryId
否
string
-
容器镜像服务实例 ID,使用企业版镜像时必选。
imageType
否
string
personal
镜像类型,支持:personal、enterprise、public。
command
否
string
-
容器启动命令,默认使用镜像中的 Entrypoint 或者 CMD。
args
否
string
-
容器启动参数,默认使用镜像中的 CMD。
imageUrl 拼接格式为 <仓库地址>:<镜像版本>@<镜像ID(sha256)>,示例如下:
		
ccr.ccs.tencentyun.com/sls-scf/nodejs_test:latest@sha256:xxx

ProtocolParams

详情请参见 创建函数。HTTP 函数支持其他访问协议的参数如下:
参数名称
必选
类型
描述
wsParams
否
WSParams
WebSockets 协议支持的参数。

WSParams

HTTP 函数通过 WebSockets 协议访问时的参数如下:
参数名称
必选
类型
描述
idleTimeOut
否
int
空闲超时时间, 单位秒,默认15s。可配置范围1-1800s。
相似文档
  • 操作场景: API 网关组件是 serverless-tencent 组件库中的基础组件之一,您可以通过该组件快速且方便地创建、配置和管理腾讯云的 API 网关产品。
  • 操作场景: 对象存储 COS 组件是 serverless-tencent 组件库中的基础组件之一。通过对象存储 COS 组件,可以快速且方便地创建、配置和管理腾讯云的 COS 存储桶。
  • 操作场景: 腾讯云 CDN 组件是 serverless-tencent 组件库中的基础组件之一。通过 CDN 组件,您可以快速方便的创建、配置和管理腾讯云的 CDN 产品。
  • 操作场景: PostgreSQL for Serverless(ServerlessDB)是一款基于 PostgreSQL 数据库实现的按需分配资源的数据库产品,其数据库将根据您的实际请求数来自动分配资源。PostgreSQL for Serverless 仅需创建实例,即可正常使用,您无需关心数据库实例规格,仅需要在数据库处于活动状态期间按照实际用量进行付费,不需要为数据库的闲时进行付费。
  • 操作场景: 腾讯云 VPC 组件支持通过serverless.yml配置,快速创建指定名称的私有网络和子网,并输出 VPCID 和 SubnetID,便于配置其他组件所需的网络信息。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部