创建函数,包含函数配置及函数代码。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateFunction | 接口名称。当前 API 的名称为 CreateFunction 。 |
Version | String | 是 | 2024-06-06 | 接口版本。当前 API 的版本为 2024-06-06 。 |
Name | String | 是 | official-site | 函数名称,同一账号内函数名称不可重复,只能包含大小写字母、数字、中划线、下划线,长度 4-64 个字符。 |
Description | String | 否 | 轻量级官网 | 函数描述,长度小于 1000 个 unicode 字符。 |
Runtime | String | 是 | python3.8/v1 | 函数运行时,可选值有:
|
ExclusiveMode | Boolean | 否 | false | 独占模式开关。
|
RequestTimeout | Integer | 否 | 30 | 请求超时,单位:秒,范围 1 - 900,默认 30。 |
MaxConcurrency | Integer | 否 | 100 | 单实例最大并发,ExclusiveMode = false 时可设置,范围 10-1000,默认 100。 |
MemoryMB | Integer | 否 | 1024 | 单实例最大内存,单位 MB,范围 512 - 4096,取值以 512 为梯度,默认 1024。 |
SourceType | String | 否 | tos | 代码来源类型,可选值有:
|
Source | String | 否 | pqyqo9qa/3kw17emxrn71v3bs.zip | 代码来源。
|
Envs | Array of EnvVar | 否 | [{"Key":"business_type","Value":"free"}] | 环境变量。 |
VpcConfig | Object of VpcConfig | 否 | {"EnableVpc":true,"VpcId":"vpc-rragpljjr9q8v0x57hsabcd","SubnetIds":["subnet-milbxl46sdfk5smt1aa8defg"],"SecurityGroupIds":["sg-rragprgn3fnkv0x584ghijk"],"EnableSharedInternetAccess":true} | VPC 配置。 |
TlsConfig | Object of TlsConfig | 否 | {"EnableLog":true,"TlsProjectId":"a40202c5-fe22-4ea7-a3a5-06d1bca77abcd","TlsTopicId":"2ff955cb-1f03-4b9b-8982-306e98c27890"} | TLS 日志配置。 |
SourceAccessConfig | Object of SourceAccessConfig | 否 | {"Username": "operator", "Password": "Feie&ffe123huabcd"} | 当用户设置跨账户自定义镜像时,需要提供访问配置。 |
NasStorage | Object of NasStorage | 否 | {"EnableNas":true,"NasConfigs":[{"FileSystemId":"cnas-cnbjb37c2193e51234","MountPointId":"mount-bce15678","RemotePath":"/","LocalMountPath":"/mnt/nas","Uid":1000,"Gid":1000}]} | 文件存储 NAS 挂载配置。 |
TosMountConfig | Object of TosMountConfig | 否 | {"EnableTos":true,"MountPoints":[{"BucketPath":"/","LocalMountPath":"/mnt/tos","ReadOnly":false,"BucketName":"ai-models","Endpoint":"http://tos-cn-beijing.ivolces.com"}],"Credentials":{"AccessKeyId": "TZTJjfewfweiFJIEFLDMFDKFabcd", "SecretAccessKey": "FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl=="}} | 对象存储 TOS 挂载配置。 |
InitializerSec | Integer | 否 | 30 | 函数初始化超时配置。 |
ProjectName | String | 否 | default | 项目名称 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Key | String | 是 | business_type | 环境变量的 Key。1 ~ 63 个字符,字符中可包含英文、数字以及下划线(_),并且不能以数字开头。同一函数下 Key 唯一。 |
Value | String | 是 | free | 环境变量的 Value。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
VpcId | String | 否 | vpc-3rf87yoa8yn0g5zsk2hfevabcd | VPC ID。如果 VPC ID 为空字符串,代表删除当前 VPC 配置。 |
EnableVpc | Boolean | 是 | false | 函数是否开启私有网络访问。 |
SubnetIds | Array of String | 否 | subnet-mj1lxywnkq2o5smt1bhyefgh | VPC 子网 ID。 |
SecurityGroupIds | Array of String | 否 | sg-rs6schq63nk0v0x57j4wxyz | 安全组 ID。 |
EnableSharedInternetAccess | Boolean | 否 | false | 函数访问公网开关。在用户绑定自己 VPC 的情况下,是否通过 vefaas VPC 共享 NAT 网关访问公网。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
EnableLog | Boolean | 是 | false | TlS 日志功能开关。
|
TlsTopicId | String | 否 | tls-vefaas-logstore | TLS 日志主题 ID。 |
TlsProjectId | String | 否 | tls-vefaas | TLS 日志项目 ID。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Password | String | 是 | Feie&ffe123huabcd | 镜像仓库密码。 |
Username | String | 是 | operator | 镜像仓库用户名。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
EnableNas | Boolean | 是 | false | 是否开启 NAS 存储挂载。 |
NasConfigs | Array of NasConfig | 否 | [{"FileSystemId": "enas-cnsha0a8842997abcd", "MountPointId": "mount-6303defg", "RemotePath": "/", "LocalMountPath": "/mnt/nas", "Uid": "1000", "Gid": "1000"}] | Nas 存储配置。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
EnableTos | Boolean | 是 | false | 是否开启 TOS 存储挂载。 |
Credentials | Object of Credentials | 否 | {"AccessKeyId": "TZTJjfewfweiFJIEFLDMFDKFabcd", "SecretAccessKey": "FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl=="} | 开启 TOS 后需要提供具有 TOS 域名访问权限的 AKSK。 |
MountPoints | Array of TosMountPoint | 否 | [{"Endpoint": "http://tos-cn-beijing.ivolces.com", "BucketName": "ai-model", "BucketPath": "/", "LocalMountPath": "/mnt/tos", "ReadOnly": "true"}] | 开启 TOS 后需要提供 TOS 存储配置列表,最多不超过 5 个。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Gid | Long | 否 | 1000 | 文件系统中的用户组,暂时不支持自定义,如果提供该参数,参数值 1000(和函数 run user gid 保持一致)。 |
Uid | Long | 否 | 1000 | 文件系统中的用户,暂时不支持自定义,如果提供该参数,参数值只能为 1000(和函数 run user uid 保持一致)。 |
RemotePath | String | 是 | / | 文件系统远端目录。长度 1-128 个字符,只能以“/”开头,支持大小写字母、数字和特殊字符(- . _ ~ / : @ = + ? # )。 |
FileSystemId | String | 是 | enas-cnsha0a8842997abcd | NAS 文件系统 ID。 |
MountPointId | String | 是 | mount-6303defg | NAS 挂载点 ID。 |
LocalMountPath | String | 是 | /mnt/nas | 函数本地挂载目录。长度 1-128 个字符,只能以“/”开头,支持大小写字母、数字和特殊字符(- . _ ~ / : @ = + ? # )。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
AccessKeyId | String | 是 | TZTJjfewfweiFJIEFLDMFDKFabcd | Access Key ID。 |
SecretAccessKey | String | 是 | FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl== | Secret Access Key。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Endpoint | String | 是 | http://tos-cn-beijing.ivolces.com | TOS 访问域名。 |
ReadOnly | Boolean | 否 | true | 函数本地目录访问权限,挂载 TOS Bucket后,函数本地挂载目录的访问权限是否为只读。
|
BucketName | String | 是 | ai-model | TOS 存储桶。 |
BucketPath | String | 是 | / | 挂载的 TOS Bucket 路径。 |
LocalMountPath | String | 是 | /mnt/tos | 函数本地挂载目录。 |
POST http://open.volcengineapi.com/?Action=CreateFunction&Version=2024-06-06 HTTP/1.1 Content-Type: application/json { "Name": "official-site", "Description": "轻量级官网", "Runtime": "python3.8/v1", "ExclusiveMode": true, "RequestTimeout": 30, "MaxConcurrency": 100, "MemoryMB": 1024, "SourceType": "tos", "Source": "pqyqo9qa/3kw17emxrn71v3bs.zip", "Envs": [ { "Key": "business_type", "Value": "free" } ], "VpcConfig": { "EnableVpc": true, "VpcId": "vpc-rragpljjr9q8v0x57hsabcd", "SubnetIds": [ "subnet-milbxl46sdfk5smt1aa8defg" ], "SecurityGroupIds": [ "sg-rragprgn3fnkv0x584ghijk" ], "EnableSharedInternetAccess": true }, "TlsConfig": { "EnableLog": true, "TlsProjectId": "a40202c5-fe22-4ea7-a3a5-06d1bca77abcd", "TlsTopicId": "2ff955cb-1f03-4b9b-8982-306e98c27890" }, "SourceAccessConfig": { "Username": "operator", "Password": "Feie&ffe123huabcd" }, "NasStorage": { "EnableNas": true, "NasConfigs": [ { "FileSystemId": "cnas-cnbjb37c2193e51234", "MountPointId": "mount-bce15678", "RemotePath": "/", "LocalMountPath": "/mnt/nas", "Uid": 1000, "Gid": 1000 } ] }, "TosMountConfig": { "EnableTos": true, "MountPoints": [ { "BucketPath": "/", "LocalMountPath": "/mnt/tos", "ReadOnly": false, "BucketName": "ai-models", "Endpoint": "http://tos-cn-beijing.ivolces.com" } ], "Credentials": { "AccessKeyId": "TZTJjfewfweiFJIEFLDMFDKFabcd", "SecretAccessKey": "FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl==" } }, "InitializerSec": 30 }
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Id | String | pqyqo9qa | 函数 ID。 |
Name | String | official-site | 函数名字。 |
Description | String | 轻量级官网 | 函数描述。 |
Runtime | String | python3.8/v1 | 函数运行时。 |
ExclusiveMode | Boolean | false | 独占模式开关。
|
RequestTimeout | Integer | 30 | 请求超时(单位 秒)。 |
MaxConcurrency | Integer | 100 | 单实例最大并发。 |
MemoryMB | Integer | 1024 | 单实例最大内存(单位 MB)。 |
CodeSize | Integer | 473 | 代码包大小(单位 MB)。 |
CodeSizeLimit | Integer | 256 | 代码包大小上限。
|
SourceLocation | String | https://vefaas.tos-s3-cn.volces.com/template_dir/666ad75b9124c400072abcvefaas-python3.9-default.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKLTMTE1ZjQ2MTM0NWJjNDxxx2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=xxx&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=xxxxxx | 代码/镜像的来源地址。 |
SourceType | String | tos | 代码来源类型,可选值有:
|
Envs | Array of EnvVar | [{"Key":"business_type","Value":"free"}] | 函数环境变量。 |
VpcConfig | Object of VpcConfig | {"EnableVpc": true, "VpcId": "vpc-rragpljjr9q8v0x57hsabcd", "SubnetIds": ["subnet-milbxl46sdfk5smt1aa8defg"], "SecurityGroupIds": ["sg-rragprgn3fnkv0x584ghijk"], "EnableSharedInternetAccess": true} | VPC 配置。 |
CreationTime | String | 2024-06-14 15:31:07.143863441 +0800 CST m=+88714.902440864 | 创建时间。 |
LastUpdateTime | String | 2024-06-14 15:31:07.143863491 +0800 CST m=+88714.902440914 | 更新时间。 |
TlsConfig | Object of TlsConfig | {"EnableLog": true, "TlsProjectId": "a40202c5-fe22-4ea7-a3a5-06d1bca77abcd", "TlsTopicId": "2ff955cb-1f03-4b9b-8982-306e98c27890"} | 函数日志配置。 |
Owner | String | 1400001234 | 函数所有者(账号 Id)。 |
TriggersCount | Integer | 0 | 该函数的触发器个数。 |
InstanceType | String | 函数实例类型,非空则为 GPU 实例。 | |
NasStorage | Object of NasStorage | {"EnableNas": true, "NasConfigs": [{"FileSystemId": "cnas-cnbjb37c2193e51234", "MountPointId": "mount-bce15678", "RemotePath": "/", "LocalMountPath": "/mnt/nas", "Uid": 1000, "Gid": 1000}]} | 文件存储 NAS 挂载配置。 |
TosMountConfig | Object of TosMountConfig | {"EnableTos": true, "MountPoints": [{"Endpoint": "http://tos-cn-beijing.ivolces.com", "BucketName": "ai-models", "BucketPath": "/", "LocalMountPath": "/mnt/tos", "ReadOnly": false}]} | 对象存储 TOS 挂载配置。 |
InitializerSec | Integer | 30 | 函数初始化超时配置。 |
ProjectName | String | default | 项目名称 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Key | String | business_type | 环境变量的 Key。1 ~ 63 个字符,字符中可包含英文、数字以及下划线(_),并且不能以数字开头。同一函数下 Key 唯一。 |
Value | String | free | 环境变量的 Value。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
VpcId | String | vpc-3rf87yoa8yn0g5zsk2hfevabcd | VPC ID。如果 VPC ID 为空字符串,代表删除当前 VPC 配置。 |
EnableVpc | Boolean | false | 函数是否开启私有网络访问。 |
SubnetIds | Array of String | subnet-mj1lxywnkq2o5smt1bhyefgh | VPC 子网 ID。 |
SecurityGroupIds | Array of String | sg-rs6schq63nk0v0x57j4wxyz | 安全组 ID。 |
EnableSharedInternetAccess | Boolean | false | 函数访问公网开关。在用户绑定自己 VPC 的情况下,是否通过 vefaas VPC 共享 NAT 网关访问公网。
|
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
EnableLog | Boolean | false | TlS 日志功能开关。
|
TlsTopicId | String | tls-vefaas-logstore | TLS 日志主题 ID。 |
TlsProjectId | String | tls-vefaas | TLS 日志项目 ID。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
EnableNas | Boolean | false | 是否开启 NAS 存储挂载。 |
NasConfigs | Array of NasConfig | [{"FileSystemId": "enas-cnsha0a8842997abcd", "MountPointId": "mount-6303defg", "RemotePath": "/", "LocalMountPath": "/mnt/nas", "Uid": "1000", "Gid": "1000"}] | Nas 存储配置。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
EnableTos | Boolean | false | 是否开启 TOS 存储挂载。 |
Credentials | Object of Credentials | {"AccessKeyId": "TZTJjfewfweiFJIEFLDMFDKFabcd", "SecretAccessKey": "FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl=="} | 开启 TOS 后需要提供具有 TOS 域名访问权限的 AKSK。 |
MountPoints | Array of TosMountPoint | [{"Endpoint": "http://tos-cn-beijing.ivolces.com", "BucketName": "ai-model", "BucketPath": "/", "LocalMountPath": "/mnt/tos", "ReadOnly": "true"}] | 开启 TOS 后需要提供 TOS 存储配置列表,最多不超过 5 个。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Gid | Long | 1000 | 文件系统中的用户组,暂时不支持自定义,如果提供该参数,参数值 1000(和函数 run user gid 保持一致)。 |
Uid | Long | 1000 | 文件系统中的用户,暂时不支持自定义,如果提供该参数,参数值只能为 1000(和函数 run user uid 保持一致)。 |
RemotePath | String | / | 文件系统远端目录。长度 1-128 个字符,只能以“/”开头,支持大小写字母、数字和特殊字符(- . _ ~ / : @ = + ? # )。 |
FileSystemId | String | enas-cnsha0a8842997abcd | NAS 文件系统 ID。 |
MountPointId | String | mount-6303defg | NAS 挂载点 ID。 |
LocalMountPath | String | /mnt/nas | 函数本地挂载目录。长度 1-128 个字符,只能以“/”开头,支持大小写字母、数字和特殊字符(- . _ ~ / : @ = + ? # )。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
AccessKeyId | String | TZTJjfewfweiFJIEFLDMFDKFabcd | Access Key ID。 |
SecretAccessKey | String | FweiffJEFJEWFJWERYTKRVFJlewjfwelFslfjsdflsjdfl== | Secret Access Key。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Endpoint | String | http://tos-cn-beijing.ivolces.com | TOS 访问域名。 |
ReadOnly | Boolean | true | 函数本地目录访问权限,挂载 TOS Bucket后,函数本地挂载目录的访问权限是否为只读。
|
BucketName | String | ai-model | TOS 存储桶。 |
BucketPath | String | / | 挂载的 TOS Bucket 路径。 |
LocalMountPath | String | /mnt/tos | 函数本地挂载目录。 |
HTTP/1.1 200 OK Content-Type: application/json { "ResponseMetadata": { "RequestId": "20230604110420****100232280022D31", "Action": "CreateFunction", "Version": "2024-06-06", "Service": "vefaas", "Region": "cn-beijing" }, "Result": { "Id": "pqyqo9qa", "Name": "official-site", "Description": "轻量级官网", "Runtime": "python3.8/v1", "ExclusiveMode": true, "RequestTimeout": 30, "MaxConcurrency": 100, "MemoryMB": 1024, "CodeSize": 473, "CodeSizeLimit": 256, "SourceLocation": "https://vefaas.tos-s3-cn.volces.com/template_dir/666ad75b9124c400072abcvefaas-python3.9-default.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKLTMTE1ZjQ2MTM0NWJjNDxxx2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=xxx&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=xxxxxx", "SourceType": "tos", "Envs": [ { "Key": "business_type", "Value": "free" } ], "VpcConfig": { "EnableVpc": true, "VpcId": "vpc-rragpljjr9q8v0x57hsabcd", "SubnetIds": [ "subnet-milbxl46sdfk5smt1aa8defg" ], "SecurityGroupIds": [ "sg-rragprgn3fnkv0x584ghijk" ], "EnableSharedInternetAccess": true }, "CreationTime": "2024-06-14 15:31:07.143863441 +0800 CST m=+88714.902440864", "LastUpdateTime": "2024-06-14 15:31:07.143863491 +0800 CST m=+88714.902440914", "TlsConfig": { "EnableLog": true, "TlsProjectId": "a40202c5-fe22-4ea7-a3a5-06d1bca77abcd", "TlsTopicId": "2ff955cb-1f03-4b9b-8982-306e98c27890" }, "ResourcePoolId": "ujdsugabcd", "Owner": "1400001234", "TriggersCount": 0, "UseStatus": "normal", "DebugInstanceEnable": true, "InstanceType": "", "NasStorage": { "EnableNas": true, "NasConfigs": [ { "FileSystemId": "cnas-cnbjb37c2193e51234", "MountPointId": "mount-bce15678", "RemotePath": "/", "LocalMountPath": "/mnt/nas", "Uid": 1000, "Gid": 1000 } ] }, "TosMountConfig": { "EnableTos": true, "MountPoints": [ { "Endpoint": "http://tos-cn-beijing.ivolces.com", "BucketName": "ai-models", "BucketPath": "/", "LocalMountPath": "/mnt/tos", "ReadOnly": false } ] }, "InitializerSec": 30 } }
当前接口暂无独立错误码,若接口调用返回异常,可参考 公共错误码 进行故障排查。