最佳实践

创建函数

最近更新时间:2021-09-17 08:12:05

我的收藏

1. 接口描述

接口请求域名: scf.tencentcloudapi.com 。

该接口根据传入参数创建新的函数。

默认接口请求频率限制:10次/秒。

注意:本接口支持金融区地域。由于金融区和非金融区是隔离不互通的,因此当公共参数 Region 为金融区地域(例如 ap-shanghai-fsi)时,需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致,例如:scf.ap-shanghai-fsi.tencentcloudapi.com。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateFunction。
Version String 公共参数,本接口取值:2018-04-16。
Region String 公共参数,详见产品支持的 地域列表
FunctionName String 创建的函数名称,函数名称支持26个英文字母大小写、数字、连接符和下划线,第一个字符只能以字母开头,最后一个字符不能为连接符或者下划线,名称长度2-60
Code Code 函数代码. 注意:不能同时指定Cos、ZipFile或 DemoId。
Handler String 函数处理方法名称,名称格式支持 "文件名称.方法名称" 形式(java 名称格式 包名.类名::方法名),文件名称和函数名称之间以"."隔开,文件名称和函数名称要求以字母开始和结尾,中间允许插入字母、数字、下划线和连接符,文件名称和函数名字的长度要求是 2-60 个字符
Description String 函数描述,最大支持 1000 个英文字母、数字、空格、逗号、换行符和英文句号,支持中文
MemorySize Integer 函数运行时内存大小,默认为 128M,可选范围 64、128MB-3072MB,并且以 128MB 为阶梯
Timeout Integer 函数最长执行时间,单位为秒,可选值范围 1-900 秒,默认为 3 秒
Environment Environment 函数的环境变量
Runtime String 函数运行环境,目前仅支持 Python2.7,Python3.6,Nodejs6.10,Nodejs8.9,Nodejs10.15,Nodejs12.16, Php5, Php7,Go1,Java8 和 CustomRuntime,默认Python2.7
VpcConfig VpcConfig 函数的私有网络配置
Namespace String 函数所属命名空间
Role String 函数绑定的角色
ClsLogsetId String 函数日志投递到的CLS LogsetID
ClsTopicId String 函数日志投递到的CLS TopicID
Type String 函数类型,默认值为Event,创建触发器函数请填写Event,创建HTTP函数级服务请填写HTTP
CodeSource String CodeSource 代码来源,支持ZipFile, Cos, Demo 其中之一
Layers.N Array of LayerVersionSimple 函数要关联的Layer版本列表,Layer会按照在列表中顺序依次覆盖。
DeadLetterConfig DeadLetterConfig 死信队列参数
PublicNetConfig PublicNetConfigIn 公网访问配置
CfsConfig CfsConfig 文件系统配置参数,用于云函数挂载文件系统
InitTimeout Integer 函数初始化超时时间,默认 65s,镜像部署函数默认 90s。
Tags.N Array of Tag 函数 Tag 参数,以键值对数组形式传入
AsyncRunEnable String 是否开启异步属性,TRUE 为开启,FALSE为关闭
TraceEnable String 是否开启事件追踪,TRUE 为开启,FALSE为关闭

3. 输出参数

参数名称 类型 描述
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建函数

输入示例

https://scf.tencentcloudapi.com/?Action=CreateFunction
&FunctionName=<FunctionName>
&Handler=<function.handler>
&Code.CosBucketName=<CosBucketName>
&Code.CosObjectName=<CosObjectName>
&<公共请求参数>

输出示例

{
  "Response": {
    "RequestId": "eac6b301-a322-493a-8e36-83b295459397"
  }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation 操作失败。
FailedOperation.CreateFunction 操作失败。
FailedOperation.Namespace 命名空间已存在,请勿重复创建。
FailedOperation.OpenService 服务开通失败。
FailedOperation.QcsRoleNotFound 角色不存在。
FailedOperation.TotalConcurrencyMemoryInProgress 用户并发内存配额设置任务处于进行中,请稍后重试。
FailedOperation.UnOpenedService 指定的服务未开通,可以提交工单申请开通服务。
InternalError 内部错误。
InternalError.GetRoleError 内部服务错误。
InternalError.System 内部系统错误。
InternalError.SystemError 内部服务错误。
InvalidParameter.Payload 请求参数不合法。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.Action Action取值与规范不符,请修正后再试。可参考:https://tencentcs.com/5jXKFnBW。
InvalidParameterValue.CfsParameterDuplicate cfs配置项重复。
InvalidParameterValue.CfsParameterError cfs配置项取值与规范不符。
InvalidParameterValue.Cls Cls传入错误。
InvalidParameterValue.Code Code传入错误。
InvalidParameterValue.CodeSecret CodeSecret传入错误。
InvalidParameterValue.CodeSource CodeSource传入错误。
InvalidParameterValue.Cos Cos传入错误。
InvalidParameterValue.CosBucketName CosBucketName不符合规范。
InvalidParameterValue.CosBucketRegion CosBucketRegion取值与规范不符,请修正后再试。可参考:https://tencentcs.com/5jXKFnBW。
InvalidParameterValue.CosObjectName CosObjectName不符合规范。
InvalidParameterValue.DeadLetterConfig DeadLetterConfig取值与规范不符,请修正后再试。可参考:https://tencentcs.com/5jXKFnBW。
InvalidParameterValue.Description Description传入错误。
InvalidParameterValue.EipConfig EipConfig参数错误。
InvalidParameterValue.Environment Environment传入错误。
InvalidParameterValue.EnvironmentExceededLimit 环境变量大小超限,请保持在 4KB 以内。
InvalidParameterValue.EnvironmentSystemProtect 不支持修改函数系统环境变量和运行环境变量。
InvalidParameterValue.FunctionName 函数不存在。
InvalidParameterValue.GitCommitId GitCommitId取值与规范不符,请修正后再试。可参考:https://tencentcs.com/5jXKFnBW。
InvalidParameterValue.GitUrl GitUrl不符合规范。
InvalidParameterValue.Handler Handler传入错误。
InvalidParameterValue.IdleTimeOut IdleTimeOut参数传入错误。
InvalidParameterValue.Layers Layers参数传入错误。
InvalidParameterValue.LimitExceeded 参数超出长度限制。
InvalidParameterValue.Memory Memory取值与规范不符,请修正后再试。可参考:https://tencentcs.com/5jXKFnBW。
InvalidParameterValue.MemorySize MemorySize错误。
InvalidParameterValue.Namespace Namespace参数传入错误。
InvalidParameterValue.ProtocolType ProtocolType参数传入错误。
InvalidParameterValue.PublicNetConfig PublicNetConfig参数错误。
InvalidParameterValue.Runtime Runtime传入错误。
InvalidParameterValue.Stamp Stamp取值与规范不符,请修正后再试。
InvalidParameterValue.TempCosObjectName 非法的TempCosObjectName。
InvalidParameterValue.TraceEnable TraceEnable取值与规范不符,请修正后再试。
InvalidParameterValue.Type Type传入错误。
InvalidParameterValue.VpcNotSetWhenOpenCfs 开启cfs配置的同时必须开启vpc。
InvalidParameterValue.WebSocketsParams WebSocketsParams参数传入错误。
InvalidParameterValue.ZipFile 检测到不是标准的zip文件,请重新压缩后再试。
InvalidParameterValue.ZipFileBase64BinasciiError 压缩文件base64解码失败: Incorrect padding,请修正后再试。
LimitExceeded.Eip eip资源超限。
LimitExceeded.Function 函数数量超出最大限制 ,可通过提交工单申请提升限制。
LimitExceeded.InitTimeout InitTimeout达到限制,可提交工单申请提升限制:https://tencentcs.com/7Fixwt63。
LimitExceeded.Memory 内存超出最大限制。
LimitExceeded.Timeout Timeout超出最大限制。
MissingParameter.Code Code没有传入。
MissingParameter.Runtime 缺失 Runtime 字段。
ResourceInUse 资源被占用。
ResourceInUse.Function 函数已存在。
ResourceInUse.FunctionName FunctionName已存在。
ResourceNotFound 资源不存在。
ResourceNotFound.CfsMountInsNotMatch 指定的cfs下未找到您所指定的挂载点。
ResourceNotFound.CfsVpcNotMatch cfs与云函数所处vpc不一致。
ResourceNotFound.Cmq Cmq不存在。
ResourceNotFound.Demo 不存在的Demo。
ResourceNotFound.GetCfsMountInsError 获取cfs挂载点信息错误。
ResourceNotFound.GetCfsNotMatch 获取cfs信息错误。
ResourceNotFound.Layer layer不存在。
ResourceNotFound.Namespace Namespace不存在。
ResourceNotFound.Role 角色不存在。
ResourceNotFound.Vpc VPC或子网不存在。
ResourceUnavailable.Namespace Namespace不可用。
UnauthorizedOperation.CAM CAM鉴权失败。
UnauthorizedOperation.Region Region错误。
UnauthorizedOperation.Role 没有权限访问您的Cos资源。
UnauthorizedOperation.TempCosAppid TempCos的Appid和请求账户的APPID不一致。
UnsupportedOperation 操作不支持。
目录