云函数 SCF 组件

最近更新时间:2024-07-22 12:00:01

我的收藏

组件概述

腾讯云 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
如您使用的是函数 URL,请将events修改为:
events:
- http:
parameters:
netConfig:
enableIntranet: true
enableExtranet: true
qualifier: $DEFAULT
authType: NONE
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

触发函数

云端调用 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},在YAML中指定不同的timer name,可创建多个定时触发器
qualifier: $DEFAULT # 别名配置
cronExpression: '*/5 * * * * * *' # 每5秒触发一次
enable: true
argument: argument # 额外的参数
- http:#函数URL
parameters:
netConfig:
enableIntranet: true
enableExtranet: true
qualifier: $DEFAULT
authType: NONE
- 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
-
函数的环境变量,配置参见 环境变量
vpcConfig
Vpc
-
函数的私有网络配置,配置参数参见 私有网络
layers
Layer[]
-
云函数绑定的 layer,配置参数参见 层配置
deadLetter
-
死信队列配置,配置参数参见 死信队列
cls
Cls
-
函数日志配置,配置参数参见 函数日志
eip
boolean
false
固定出口 IP。默认为 false,即不启用。
asyncRunEnable
boolean
false
是否启用异步执行(长时间运行),默认最大支持12小时,如果配置为 true,cls(函数日志配置) 必选。此参数只有在函数创建时才有效。
traceEnable
boolean
false
是否启用状态追踪,如果要配置为 true,必须配置 asyncRunEnable 同时为 true
msgTTL
number
21600
异步执行消息保留时间,单位秒,仅 asyncRunEnabletrue 时有效。
retryNum
number
2
重试次数,仅 asyncRunEnabletrue 时有效。
installDependency
boolean
false
是否自动在线安装依赖。
tags
-
-
标签设置。可设置多对 key-value 的键值对。
cfs
Cfs[]
-
文件系统挂载配置,用于云函数挂载文件系统。配置参数详情请参见 文件系统
ignoreTriggers
boolean
false
是否忽略触发器,如果设置为 trueevents 参数将不起作用,组件将至更新函数配置和代码。
events
Event[]
-
触发器配置。
image
Image
-
镜像配置。
protocolType
string
-
HTTP 函数支持的访问协议。当前支持 WebSockets 协议,值为 WS,只有 type:web 时此配置生效。
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 触发器
http
函数 URL
注意:
对于 API 网关触发器,如果没有配置网关服务 ID(serviceId),则自动创建一个 API 网关服务,对于其他触发器仅执行配置触发器,不涉及服务资源创建。
参数名称
必选
类型
默认值
描述
parameters
object
-
根据触发器类型,参考触发器参数表。
name
string
触发器类型-${name}-${stage}-${app}
触发器名称。
详情请参见 官方触发器配置描述

定时触发器

详情请参见 定时触发器说明
参数名称
必选
类型
默认值
描述
name
string
timer-${name}-${stage}
触发器名称,可自定义不同的定时触发器名称,创建多个定时触发器。
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
发布的环境,填写 releasetestprepub,不填写默认为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
NONEAPP
app
App
-
API 绑定 APP 配置。
isBase64Encoded
boolean
false
是否开启 Base64 编码,只有后端为 scf 时才会生效。
isBase64Trigger
boolean
false
是否开启 Base64 编码的 header 触发,只有后端为 scf 时才会生效。
base64EncodedTriggerRules
[]
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 编码,必须配置 isBase64Encodedtrue,此时每次请求的请求内容都会被 Base64 编码后再传递给云函数。如果想要部分请求 Base64 编码,可以通过配置 isBase64Triggertrue,配置 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。