1. 接口描述
接口请求域名: tcb.tencentcloudapi.com 。
创建云函数
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| Action | 是 | String | 公共参数,本接口取值:CreateFunction。 |
| Version | 是 | String | 公共参数,本接口取值:2018-06-08。 |
| Region | 否 | String | 公共参数,本接口不需要传递此参数。 |
| FunctionName | 是 | String | 创建的函数名称 示例值:helloworld |
| EnvId | 是 | String | 环境ID 示例值:env-xxyyzzaa |
| Handler | 否 | String | 函数处理方法名称 示例值:index.main_handler |
| MemorySize | 否 | Integer | 函数运行时内存大小 示例值:128 |
| Timeout | 否 | Integer | 函数最长执行时间 示例值:3 |
| UseGpu | 否 | String | 此参数公司内部展示。是否使用GPU进行计算 示例值:FALSE |
| InstallDependency | 否 | String | 在线依赖安装 示例值:FALSE |
| Stamp | 否 | String | 此参数公司内部展示。用于小程序,GPU集群,不对外 示例值:default |
| Role | 否 | String | 函数绑定的角色 示例值:SCF_ExecuteRole |
| Description | 否 | String | 函数描述 示例值:hello world! |
| Runtime | 否 | String | 函数运行环境 示例值:Python3.6 |
| ClsTopicId | 否 | String | 函数日志投递到的CLS TopicID 示例值:topic-xxyyzad |
| ClsLogsetId | 否 | String | 函数日志投递到的CLS LogsetID 示例值:logset-xjckuisd |
| Code | 否 | CodeReq | 包含函数代码文件的zip格式文件 |
| PrivateConfig | 否 | PrivateConfig | 云函数配置项 |
| Type | 否 | String | 函数类型,默认值为Event,创建触发器函数请填写Event,创建HTTP函数级服务请填写HTTP 示例值:Event |
| ProtocolType | 否 | String | HTTP函数支持的访问协议。当前支持WebSockets协议,值为WS 示例值:WS |
| Environment | 否 | FunctionEnvironment | 环境变量 |
| InitTimeout | 否 | Integer | 函数初始化超时时间,默认 65s,镜像部署函数默认 90s。 示例值:3 |
| CodeSource | 否 | String | 代码来源,支持ZipFile, Cos, Demo 其中之一 示例值:ZipFile |
| VpcConfig | 否 | FunctionVpcConfig | 函数的私有网络配置 |
| Layers.N | 否 | Array of FunctionLayer | 函数要关联的Layer版本列表,Layer会按照在列表中顺序依次覆盖。 |
| PublicNetConfig | 否 | FunctionPublicNetConfig | 公网访问配置 |
| AsyncRunEnable | 否 | String | 是否开启异步属性,TRUE 为开启,FALSE为关闭 示例值:FALSE |
| TraceEnable | 否 | String | 是否开启事件追踪,TRUE 为开启,FALSE为关闭 示例值:FALSE |
| AutoCreateClsTopic | 否 | String | 是否自动创建cls主题,TRUE 为开启,FALSE为关闭 示例值:FALSE |
| AutoDeployClsTopicIndex | 否 | String | 是否自动创建cls索引,TRUE 为开启,FALSE为关闭 示例值:FALSE |
| DnsCache | 否 | String | 是否开启Dns缓存能力。只支持EVENT函数。默认为FALSE,TRUE 为开启,FALSE为关闭 示例值:FALSE |
| EipConfig | 否 | FunctionEipConfigFixed | EipConfig固定ip配置 |
3. 输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| SCFErrorCode | String | 调用scf返回的错误码 示例值:FailedOperation.Namespace |
| SCFErrorMsg | String | 错误码对应的描述信息 示例值:命名空间已存在,请勿重复创建。 |
| RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建函数
输入示例
POST / HTTP/1.1
Host: tcb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunction
<公共请求参数>
{
"FunctionName": "my-func",
"EnvId": "env-zyxjgkd",
"Handler": "index.main",
"MemorySize": 0,
"Timeout": 0,
"UseGpu": "FALSE",
"InstallDependency": "TRUE",
"Stamp": "Tcb",
"Role": "TCB_QcsRole",
"Description": "my function",
"Runtime": "nodejs16",
"ClsTopicId": "topic-xx",
"ClsLogsetId": "logset-yy",
"Code": {
"ZipFile": "zip-code-here"
},
"PrivateConfig": {
"Language": "nodejs"
}
}
输出示例
{
"Response": {
"RequestId": "eac6b301-a322-493a-8e36-83b295459397"
}
}
示例2 创建函数0824
输入示例
POST / HTTP/1.1
Host: tcb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunction
<公共请求参数>
{
"FunctionName": "jackvylitest2",
"EnvId": "cbftest-goreliu-d5f0c7kud1ee02a6",
"Handler": "index.main",
"MemorySize": 256,
"Timeout": 3,
"UseGpu": "FALSE",
"InstallDependency": "TRUE",
"Runtime": "Nodejs24.14",
"Code": {
"ZipFile": "UEsDBBQAAAAIAKyFGF0rzojg8AAAAEIBAAAIABwAaW5kZXguanNVVAkAA6MEjGqkBIxqdXgLAAEE9QEAAAQUAAAAXY89TsNAEIV7n+JV2VgydkTpKBREQoICCg6ANt6xs7DeMbvrKJblkppDII6We2A7pIk0xfzove9NlmFruFX30hMeWlsEzRanr9/T909Ex4Zd8GkttcUG0ne2wJIOZEOCgm2gY4ixuUMfYZo9G0oNV0tR7EooqhnaHviDlEjw9PrynPrgtK102Z1d4ng9Kh2F1tnZBPBBhtZvWVGO29UqmZd7koqcz9FDzFwbbkLXkMghZNMYXcgpd/bu2QoMZ9GOVZdfY3vU5L2sRnexJ2MYpeMaY94xoqPPlnx4VPnlOywWlzb9v75phSGeEMM6GusPUEsDBBQAAAAIAKyFGF2amvlBfwAAALoAAAAMABwAcGFja2FnZS5qc29uVVQJAAOjBIxqowSManV4CwABBPUBAAAEFAAAAD2OSwoCMQxA9z1FyFrKuHWpILhw5wVKG6EyTaXJiDDM3e1ncJn3XkJWA4DsEuEJ8Lmw15hZSRQPzXyoSAVNHu1kp0EDiS/xrbu5zHkJZycE1/0ABEp5tMnFHkUO9LUvGXTsSxVrHRtQV7R1nAPBP65y6wtz9MTSv7zfHmg28wNQSwECHgMUAAAACACshRhdK86I4PAAAABCAQAACAAYAAAAAAABAAAApIEAAAAAaW5kZXguanNVVAUAA6MEjGp1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACACshRhdmpr5QX8AAAC6AAAADAAYAAAAAAABAAAApIEyAQAAcGFja2FnZS5qc29uVVQFAAOjBIxqdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAACAAIAoAAAAPcBAAAAAA==\n"
},
"VpcConfig": {
"VpcId": "vpc-3m4f4bhq",
"SubnetId": "subnet-2tvkenrt"
},
"Layers": [
{
"LayerName": "demo",
"LayerVersion": 1
}
]
}
输出示例
{
"Response": {
"SCFErrorCode": "",
"SCFErrorMsg": "",
"RequestId": "cc908925-479f-4ed5-ab49-bc2c6466bd92"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 描述 |
|---|---|
| FailedOperation | 操作失败。 |
| FailedOperation.AccountInsufficient | 账户余额不足。 |
| FailedOperation.Namespace | 命名空间已存在,请勿重复创建。 |
| InvalidParameter | 参数格式或类型错误,如 Uin、EnvId、Domain 缺失或非法。 |
| InvalidParameterValue.EnvironmentExceededLimit | 环境变量大小超限,请保持在 |
| InvalidParameterValue.EnvironmentSystemProtect | 不支持修改函数系统环境变量和运行环境变量。 |
| LimitExceeded | 超过配额限制。 |
| LimitExceeded.Function | 函数数量超出最大限制 |
| LimitExceeded.InitTimeout | InitTimeout达到限制 |
| LimitExceeded.Timeout | Timeout超出最大限制。 |
| ResourceInUse | 资源被占用。 |
| ResourceInUse.Function | 函数已存在。 |
| ResourceInUse.FunctionName | FunctionName已存在。 |
| UnauthorizedOperation | 未授权操作。 |