创建函数

最近更新时间:2024-10-10 01:27:45

我的收藏

1. 接口描述

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

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

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

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

2. 输入参数

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

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

3. 输出参数

参数名称 类型 描述
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建函数

创建函数

输入示例

POST / HTTP/1.1
Host: scf.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunction
<公共请求参数>

{
    "Code": {
        "CosBucketName": "<CosBucketName>",
        "CosObjectName": "<CosObjectName>"
    },
    "Handler": "<function.handler>",
    "FunctionName": "<FunctionName>"
}

输出示例

{
    "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.AccountInsufficient 账户余额不足。
FailedOperation.ApmConfigInstanceId 获取Apm InstanceId失败。
FailedOperation.CallNetDeployFailed 调用 NetDeploy 失败。
FailedOperation.CallRoleFailed 请求role信息失败。
FailedOperation.ClsServiceUnregistered CLS服务未注册。
FailedOperation.ClusterNotFound 函数集群不存在。
FailedOperation.CreateFunction 操作失败。
FailedOperation.InstanceNotFound InstanceNotFound 实例不存在。
FailedOperation.InsufficientResources 本地域资源售罄。
FailedOperation.Namespace 命名空间已存在,请勿重复创建。
FailedOperation.OpenService 服务开通失败。
FailedOperation.QcsRoleNotFound 角色不存在。
FailedOperation.TotalConcurrencyMemoryInProgress 用户并发内存配额设置任务处于进行中,请稍后重试。
FailedOperation.UnOpenedService 指定的服务未开通,可以提交工单申请开通服务。
InternalError 内部错误。
InternalError.GetRoleError 内部服务错误。
InternalError.GetStsTokenFailed 获取sts票据信息失败。
InternalError.System 内部系统错误。
InternalError.SystemError 内部服务错误。
InvalidParameter.ParamError 创建函数传参异常。
InvalidParameter.Payload 请求参数不合法。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.Action Action取值与规范不符,请修正后再试。可参考:https://cloud.tencent.com/document/product/583/17235。
InvalidParameterValue.ApmConfig ApmConfig参数传入错误。
InvalidParameterValue.ApmConfigInstanceId ApmConfigInstanceId参数传入错误。
InvalidParameterValue.ApmConfigRegion ApmConfigRegion参数传入错误。
InvalidParameterValue.Args Args 参数值有误。
InvalidParameterValue.ArgsList 容器启动参数取值与规范不符。
InvalidParameterValue.AsyncRunEnable AsyncRunEnable 取值不正确。
InvalidParameterValue.CfsParameterDuplicate cfs配置项重复。
InvalidParameterValue.CfsParameterError cfs配置项取值与规范不符。
InvalidParameterValue.CfsStructionError cfs参数格式与规范不符。
InvalidParameterValue.Cls Cls传入错误。
InvalidParameterValue.Code Code传入错误。
InvalidParameterValue.CodeSecret CodeSecret传入错误。
InvalidParameterValue.CodeSource CodeSource传入错误。
InvalidParameterValue.Command Command[Entrypoint] 参数值有误。
InvalidParameterValue.CommandList 容器启动命令参数值与规范不符。
InvalidParameterValue.Cos Cos传入错误。
InvalidParameterValue.CosBucketName CosBucketName不符合规范。
InvalidParameterValue.CosBucketRegion CosBucketRegion取值与规范不符,请修正后再试。可参考:https://cloud.tencent.com/document/product/583/17244#Code。
InvalidParameterValue.CosObjectName CosObjectName不符合规范。
InvalidParameterValue.DeadLetterConfig DeadLetterConfig取值与规范不符,请修正后再试。可参考:https://cloud.tencent.com/document/product/583/17244#DeadLetterConfig。
InvalidParameterValue.Description Description传入错误。
InvalidParameterValue.DiskSize DiskSize 参数取值不规范。
InvalidParameterValue.DnsInfo 环境变量DNS[OS_NAMESERVER]配置有误。
InvalidParameterValue.DynamicEnabled DynamicEnabled 参数传入错误。
InvalidParameterValue.EipConfig EipConfig参数错误。
InvalidParameterValue.Environment Environment传入错误。
InvalidParameterValue.EnvironmentExceededLimit 环境变量大小超限,请保持在 4KB 以内。
InvalidParameterValue.EnvironmentSystemProtect 不支持修改函数系统环境变量和运行环境变量。
InvalidParameterValue.FunctionName 函数不存在。
InvalidParameterValue.FunctionType FunctionType参数错误。
InvalidParameterValue.GitCommitId GitCommitId取值与规范不符,请修正后再试。
InvalidParameterValue.GitPasswordSecret GitPasswordSecret 传参有误。
InvalidParameterValue.GitUrl GitUrl不符合规范。
InvalidParameterValue.GitUserNameSecret GitUserNameSecret 传参有误。
InvalidParameterValue.Handler Handler传入错误。
InvalidParameterValue.IdleTimeOut IdleTimeOut参数传入错误。
InvalidParameterValue.ImageType ImageType 参数值有误。
InvalidParameterValue.ImageUri imageUri 传入有误。
InvalidParameterValue.InstanceConcurrencyConfig InstanceConcurrencyConfig 参数传入错误。
InvalidParameterValue.L5Enable L5Enable取值与规范不符,请修正后再试。
InvalidParameterValue.Layers Layers参数传入错误。
InvalidParameterValue.LimitExceeded 参数超出长度限制。
InvalidParameterValue.LogFormat 日志格式不正确。
InvalidParameterValue.MaxConcurrency MaxConcurrency 参数传入错误。
InvalidParameterValue.Memory Memory 取值与规范不符,函数运行时内存大小默认为128MB,可选范围64MB、128MB - 3072MB,以128MB为阶梯,请修正后重试。
InvalidParameterValue.MemorySize MemorySize错误。
InvalidParameterValue.Namespace Namespace参数传入错误。
InvalidParameterValue.NodeSpec NodeSpec 参数传入错误。
InvalidParameterValue.NodeType NodeType 参数传入错误。
InvalidParameterValue.ProtocolType ProtocolType参数传入错误。
InvalidParameterValue.PublicNetConfig PublicNetConfig参数错误。
InvalidParameterValue.RegistryId 企业版镜像实例ID[RegistryId]传值错误。
InvalidParameterValue.Runtime Runtime传入错误。
InvalidParameterValue.Stamp Stamp取值与规范不符,请修正后再试。
InvalidParameterValue.TempCosObjectName 非法的TempCosObjectName。
InvalidParameterValue.TraceEnable TraceEnable取值与规范不符,请修正后再试。
InvalidParameterValue.Type Type传入错误。
InvalidParameterValue.Vpc VPC不正确。
InvalidParameterValue.VpcNotSetWhenOpenCfs 开启cfs配置的同时必须开启vpc。
InvalidParameterValue.WebSocketsParams WebSocketsParams参数传入错误。
InvalidParameterValue.ZipFile 检测到不是标准的zip文件,请重新压缩后再试。
InvalidParameterValue.ZipFileBase64BinasciiError 压缩文件base64解码失败: Incorrect padding,请修正后再试。
LimitExceeded.ContainerImageAccelerate 用户开启镜像加速函数版本超限。
LimitExceeded.ContainerImageAccelerateQuota 用户开启镜像加速函数版本超限。
LimitExceeded.Eip eip资源超限。
LimitExceeded.Function 函数数量超出最大限制 ,可通过提交工单申请提升限制。
LimitExceeded.InitTimeout InitTimeout达到限制,可提交工单申请提升限制:https://tencentcs.com/7Fixwt63。
LimitExceeded.IntraIp 内网固定IP个数超限。
LimitExceeded.Memory 内存超出最大限制。
LimitExceeded.PrivilegeContainer 特权容器属性开启失败
LimitExceeded.Timeout Timeout超出最大限制。
MissingParameter.Code Code没有传入。
MissingParameter.Runtime 缺失 Runtime 字段。
ResourceInUse 资源被占用。
ResourceInUse.Function 函数已存在。
ResourceInUse.FunctionName FunctionName已存在。
ResourceNotFound 资源不存在。
ResourceNotFound.CfsMountInsNotMatch 指定的cfs下未找到您所指定的挂载点。
ResourceNotFound.CfsProtocolError CfsProtocolError 参数异常。
ResourceNotFound.CfsStatusError 检测cfs状态为不可用。
ResourceNotFound.CfsVpcNotMatch cfs与云函数所处vpc不一致。
ResourceNotFound.Cmq Cmq不存在。
ResourceNotFound.Demo 不存在的Demo。
ResourceNotFound.GetCfsMountInsError 获取cfs挂载点信息错误。
ResourceNotFound.GetCfsNotMatch 获取cfs信息错误。
ResourceNotFound.ImageConfig 未找到指定的ImageConfig,请创建后再试。
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 操作不支持。
UnsupportedOperation.AsyncRunEnable 指定的配置AsyncRunEnable暂不支持,请修正后再试。
UnsupportedOperation.DiskSize DiskSize 配置内测中,需要申请开启。如需使用可联系我们。
UnsupportedOperation.EipFixed 指定的配置EipFixed暂不支持。
UnsupportedOperation.VpcConfig 指定的配置VpcConfig暂不支持。