功能介紹
創(chuàng)建指定的函數(shù)。
調(diào)試
您可以在API Explorer中調(diào)試該接口,支持自動(dòng)認(rèn)證鑒權(quán)。API Explorer可以自動(dòng)生成SDK代碼示例,并提供SDK代碼示例調(diào)試功能。
URI
POST /v2/{project_id}/fgs/functions
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
租戶(hù)項(xiàng)目 ID,獲取方式請(qǐng)參見(jiàn)獲取項(xiàng)目ID。 |
請(qǐng)求參數(shù)
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用戶(hù)Token。 通過(guò)調(diào)用 IAM 服務(wù)獲取用戶(hù)Token接口獲?。憫?yīng)消息頭中X-Subject-Token的值)。 |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
func_name |
是 |
String |
函數(shù)名稱(chēng)。 |
|
package |
是 |
String |
函數(shù)所屬的分組Package,用于用戶(hù)針對(duì)函數(shù)的自定義分組。 |
|
runtime |
是 |
String |
FunctionGraph函數(shù)的執(zhí)行環(huán)境 Python2.7: Python語(yǔ)言2.7版本。 Python3.6: Pyton語(yǔ)言3.6版本。 Python3.9: Python語(yǔ)言3.9版本。 Go1.8: Go語(yǔ)言1.8版本。 Go1.x: Go語(yǔ)言1.x版本。 Java8: Java語(yǔ)言8版本。 Java11: Java語(yǔ)言11版本。 Node.js6.10: Nodejs語(yǔ)言6.10版本。 Node.js8.10: Nodejs語(yǔ)言8.10版本。 Node.js10.16: Nodejs語(yǔ)言10.16版本。 Node.js12.13: Nodejs語(yǔ)言12.13版本。 Node.js14.18: Nodejs語(yǔ)言14.18版本。 C#(.NET Core 2.0): C#語(yǔ)言2.0版本。 C#(.NET Core 2.1): C#語(yǔ)言2.1版本。 C#(.NET Core 3.1): C#語(yǔ)言3.1版本。 Custom: 自定義運(yùn)行時(shí)。 PHP7.3: Php語(yǔ)言7.3版本。 http: HTTP函數(shù)。 枚舉值:
|
|
timeout |
是 |
Integer |
函數(shù)執(zhí)行超時(shí)時(shí)間,超時(shí)函數(shù)將被強(qiáng)行停止,范圍3~900秒,可以通過(guò)白名單配置延長(zhǎng)到12小時(shí),具體可以咨詢(xún)?nèi)A為云 函數(shù)工作流 服務(wù)進(jìn)行配置 |
|
handler |
是 |
String |
函數(shù)執(zhí)行入口 規(guī)則:xx.xx,必須包含“. ” 舉例:對(duì)于node.js函數(shù):myfunction.handler,則表示函數(shù)的文件名為myfunction.js,執(zhí)行的入口函數(shù)名為handler。 |
|
depend_version_list |
否 |
Array of strings |
依賴(lài)版本id列表 |
|
func_vpc |
否 |
函數(shù)vpc配置。 |
|
|
memory_size |
是 |
Integer |
函數(shù)消耗的內(nèi)存。 單位M。 取值范圍為:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值為128,最大值為4096。 |
|
gpu_memory |
否 |
Integer |
函數(shù)消耗的顯存,只支持自定義運(yùn)行時(shí)與自定義 鏡像 函數(shù)配置GPU。 單位MB。 取值范圍為:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值為1024,最大值為16384。 |
|
code_type |
是 |
String |
函數(shù)代碼類(lèi)型,取值有4種。 inline: UI在線(xiàn)編輯代碼。 zip: 函數(shù)代碼為zip包。 obs: 函數(shù)代碼來(lái)源于obs存儲(chǔ)。 jar: 函數(shù)代碼為jar包,主要針對(duì)Java函數(shù)。 枚舉值:
|
|
code_url |
否 |
String |
當(dāng)CodeType為obs時(shí),該值為函數(shù)代碼包在OBS上的地址,CodeType為其他值時(shí),該字段為空。 |
|
code_filename |
否 |
String |
函數(shù)的文件名,當(dāng)CodeType為jar/zip時(shí)必須提供該字段,inline和obs不需要提供。 |
|
user_data |
否 |
String |
用戶(hù)自定義的name/value信息。 在函數(shù)中使用的參數(shù)。 舉例:如函數(shù)要訪問(wèn)某個(gè)主機(jī),可以設(shè)置自定義參數(shù):Host={host_ip},最多定義20個(gè),總長(zhǎng)度不超過(guò)4KB。 |
|
xrole |
否 |
String |
函數(shù)使用的權(quán)限委托名稱(chēng),需要IAM支持,并在IAM界面創(chuàng)建委托,當(dāng)函數(shù)需要訪問(wèn)其他服務(wù)時(shí),必須提供該字段。 |
|
app_xrole |
否 |
String |
函數(shù)app使用的權(quán)限委托名稱(chēng),需要IAM支持,并在IAM界面創(chuàng)建委托,當(dāng)函數(shù)需要訪問(wèn)其他服務(wù)時(shí),必須提供該字段。 |
|
description |
否 |
String |
函數(shù)描述。 |
|
func_code |
否 |
FuncCode結(jié)構(gòu)返回體。 |
|
|
initializer_handler |
否 |
String |
函數(shù)初始化入口,規(guī)則:xx.xx,必須包含“. ”。 舉例:對(duì)于node.js函數(shù):myfunction.initializer,則表示函數(shù)的文件名為myfunction.js,初始化的入口函數(shù)名為initializer。 |
|
initializer_timeout |
否 |
Integer |
初始化超時(shí)時(shí)間,超時(shí)函數(shù)將被強(qiáng)行停止,范圍1~300秒。 |
|
enterprise_project_id |
否 |
String |
企業(yè)項(xiàng)目ID,在企業(yè)用戶(hù)創(chuàng)建函數(shù)時(shí)必填。 |
|
type |
否 |
String |
函數(shù)版本;部分局點(diǎn)只支持v1函數(shù),缺省值則為v1 缺省值:v2 枚舉值:
|
|
log_config |
否 |
函數(shù)綁定日志配置。 |
|
|
network_controller |
否 |
函數(shù)網(wǎng)絡(luò)配置。 |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
vpc_name |
是 |
String |
虛擬私有云 名稱(chēng)。 |
|
vpc_id |
是 |
String |
虛擬 私有云 唯一標(biāo)識(shí)。 |
|
subnet_name |
是 |
String |
子網(wǎng)名稱(chēng)。 |
|
subnet_id |
是 |
String |
子網(wǎng)編號(hào)。 |
|
cidr |
是 |
String |
子網(wǎng)掩碼。 |
|
gateway |
是 |
String |
網(wǎng)關(guān)。 |
|
security_groups |
否 |
Array of strings |
安全組 |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
file |
否 |
String |
函數(shù)代碼,如果不為空必須進(jìn)行base64編碼,為空時(shí)使用默認(rèn)的代碼。 |
|
link |
否 |
String |
函數(shù)代碼鏈接。 |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
group_name |
否 |
String |
函數(shù)綁定日志組名。 |
|
group_id |
否 |
String |
函數(shù)綁定日志組ID。 |
|
stream_name |
否 |
String |
函數(shù)綁定日志流名。 |
|
stream_id |
否 |
String |
函數(shù)綁定日志流ID。 |
響應(yīng)參數(shù)
狀態(tài)碼: 200
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
func_urn |
String |
函數(shù)的URN(Uniform Resource Name),唯一標(biāo)識(shí)函數(shù)。 |
|
func_name |
String |
函數(shù)名稱(chēng)。 |
|
domain_id |
String |
域名id。 |
|
namespace |
String |
租戶(hù)的project id。 |
|
project_name |
String |
租戶(hù)的project name。 |
|
package |
String |
函數(shù)所屬的分組Package,用于用戶(hù)針對(duì)函數(shù)的自定義分組。 |
|
runtime |
String |
FunctionGraph函數(shù)的執(zhí)行環(huán)境 Python2.7: Python語(yǔ)言2.7版本。 Python3.6: Pyton語(yǔ)言3.6版本。 Python3.9: Python語(yǔ)言3.9版本。 Go1.8: Go語(yǔ)言1.8版本。 Go1.x: Go語(yǔ)言1.x版本。 Java8: Java語(yǔ)言8版本。 Java11: Java語(yǔ)言11版本。 Node.js6.10: Nodejs語(yǔ)言6.10版本。 Node.js8.10: Nodejs語(yǔ)言8.10版本。 Node.js10.16: Nodejs語(yǔ)言10.16版本。 Node.js12.13: Nodejs語(yǔ)言12.13版本。 Node.js14.18: Nodejs語(yǔ)言14.18版本。 C#(.NET Core 2.0): C#語(yǔ)言2.0版本。 C#(.NET Core 2.1): C#語(yǔ)言2.1版本。 C#(.NET Core 3.1): C#語(yǔ)言3.1版本。 Custom: 自定義運(yùn)行時(shí)。 PHP7.3: Php語(yǔ)言7.3版本。 http: HTTP函數(shù)。 枚舉值:
|
|
timeout |
Integer |
函數(shù)執(zhí)行超時(shí)時(shí)間,超時(shí)函數(shù)將被強(qiáng)行停止,范圍3~900秒,可以通過(guò)白名單配置延長(zhǎng)到12小時(shí),具體可以咨詢(xún)?nèi)A為云函數(shù)工作流服務(wù)進(jìn)行配置 |
|
handler |
String |
函數(shù)執(zhí)行入口 規(guī)則:xx.xx,必須包含“. ” 舉例:對(duì)于node.js函數(shù):myfunction.handler,則表示函數(shù)的文件名為myfunction.js,執(zhí)行的入口函數(shù)名為handler。 |
|
memory_size |
Integer |
函數(shù)消耗的內(nèi)存。 單位M。 取值范圍為:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值為128,最大值為4096。 |
|
gpu_memory |
Integer |
函數(shù)消耗的顯存,只支持自定義運(yùn)行時(shí)與自定義鏡像函數(shù)配置GPU。 單位MB。 取值范圍為:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值為1024,最大值為16384。 |
|
cpu |
Integer |
函數(shù)占用的cpu資源。 單位為millicore(1 core=1000 millicores)。 取值與MemorySize成比例,默認(rèn)是128M內(nèi)存占0.1個(gè)核(100 millicores)。 函數(shù)占用的CPU為基礎(chǔ)CPU:200 millicores,再加上內(nèi)存按比例占用的CPU,計(jì)算方法:內(nèi)存/128 *100 + 200。 |
|
code_type |
String |
函數(shù)代碼類(lèi)型,取值有4種。 inline: UI在線(xiàn)編輯代碼。 zip: 函數(shù)代碼為zip包。 obs: 函數(shù)代碼來(lái)源于obs存儲(chǔ)。 jar: 函數(shù)代碼為jar包,主要針對(duì)Java函數(shù)。 枚舉值:
|
|
code_url |
String |
當(dāng)CodeType為obs時(shí),該值為函數(shù)代碼包在OBS上的地址,CodeType為其他值時(shí),該字段為空。 |
|
code_filename |
String |
函數(shù)的文件名,當(dāng)CodeType為jar/zip時(shí)必須提供該字段,inline和obs不需要提供。 |
|
code_size |
Long |
函數(shù)大小,單位:字節(jié)。 |
|
user_data |
String |
用戶(hù)自定義的name/value信息。 在函數(shù)中使用的參數(shù)。 舉例:如函數(shù)要訪問(wèn)某個(gè)主機(jī),可以設(shè)置自定義參數(shù):Host={host_ip},最多定義20個(gè),總長(zhǎng)度不超過(guò)4KB。 |
|
encrypted_user_data |
String |
用戶(hù)自定義的name/value信息,用于需要加密的配置。 |
|
digest |
String |
函數(shù)代碼SHA512 hash值,用于判斷函數(shù)是否變化。 |
|
version |
String |
函數(shù)版本號(hào),由系統(tǒng)自動(dòng)生成,規(guī)則:vYYYYMMDD-HHMMSS(v+年月日-時(shí)分秒)。 |
|
image_name |
String |
函數(shù)版本的內(nèi)部標(biāo)識(shí)。 |
|
xrole |
String |
函數(shù)使用的權(quán)限委托名稱(chēng),需要IAM支持,并在IAM界面創(chuàng)建委托,當(dāng)函數(shù)需要訪問(wèn)其他服務(wù)時(shí),必須提供該字段。 |
|
app_xrole |
String |
函數(shù)app使用的權(quán)限委托名稱(chēng),需要IAM支持,并在IAM界面創(chuàng)建委托,當(dāng)函數(shù)需要訪問(wèn)其他服務(wù)時(shí),必須提供該字段。 |
|
description |
String |
函數(shù)描述。 |
|
last_modified |
String |
函數(shù)最后一次更新時(shí)間。 |
|
func_vpc |
函數(shù)vpc配置。 |
|
|
mount_config |
函數(shù)掛載配置。 |
|
|
depend_list |
Array of strings |
依賴(lài)id列表 |
|
depend_version_list |
Array of strings |
依賴(lài)版本id列表 |
|
strategy_config |
函數(shù)策略配置。 |
|
|
extend_config |
String |
函數(shù)擴(kuò)展配置。 |
|
initializer_handler |
String |
函數(shù)初始化入口,規(guī)則:xx.xx,必須包含“. ”。 舉例:對(duì)于node.js函數(shù):myfunction.initializer,則表示函數(shù)的文件名為myfunction.js,初始化的入口函數(shù)名為initializer。 |
|
initializer_timeout |
Integer |
初始化超時(shí)時(shí)間,超時(shí)函數(shù)將被強(qiáng)行停止,范圍1~300秒。 |
|
enterprise_project_id |
String |
企業(yè)項(xiàng)目ID,在企業(yè)用戶(hù)創(chuàng)建函數(shù)時(shí)必填。 |
|
enable_dynamic_memory |
Boolean |
是否啟動(dòng)動(dòng)態(tài)內(nèi)存配置 |
|
is_stateful_function |
Boolean |
是否支持有狀態(tài),如果需要支持,需要固定傳參為true,v2版本支持 |
|
enable_auth_in_header |
Boolean |
是否允許在請(qǐng)求頭中添加鑒權(quán)信息 |
|
custom_image |
用戶(hù)容器鏡像。 |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
vpc_name |
String |
虛擬私有云名稱(chēng)。 |
|
vpc_id |
String |
虛擬私有云唯一標(biāo)識(shí)。 |
|
subnet_name |
String |
子網(wǎng)名稱(chēng)。 |
|
subnet_id |
String |
子網(wǎng)編號(hào)。 |
|
cidr |
String |
子網(wǎng)掩碼。 |
|
gateway |
String |
網(wǎng)關(guān)。 |
|
security_groups |
Array of strings |
安全組 |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
user_id |
String |
用戶(hù)ID(-1~65534的非0整數(shù)) |
|
user_group_id |
String |
用戶(hù)組ID(-1~65534的非0整數(shù)) |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
mount_type |
String |
掛載類(lèi)型(sfs/sfsTurbo/ecs),func_mounts非空時(shí)必選。 |
|
mount_resource |
String |
掛載資源ID(對(duì)應(yīng)云服務(wù)ID),func_mounts非空時(shí)必選。 |
|
mount_share_path |
String |
遠(yuǎn)端掛載路徑(例如192.168.0.12:/data),如果mount_type為ecs,必選。 |
|
local_mount_path |
String |
函數(shù)訪問(wèn)路徑,func_mounts非空時(shí)必選。 |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
concurrency |
Integer |
單函數(shù)最大實(shí)例數(shù),v1取值0和-1,v2取值-1到1000 -1代表該函數(shù)實(shí)例數(shù)無(wú)限制 0代表該函數(shù)被禁用 |
|
concurrent_num |
Integer |
單實(shí)例最大并發(fā)數(shù),v2版本才支持,取值-1到1000 |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
enabled |
Boolean |
是否啟用 |
|
image |
String |
鏡像地址 |
|
command |
String |
啟動(dòng)容器鏡像的命令 |
|
args |
String |
啟動(dòng)容器鏡像的命令行參數(shù) |
|
working_dir |
String |
鏡像容器工作目錄 |
|
uid |
String |
鏡像容器的用戶(hù)id |
|
gid |
String |
鏡像容器的用戶(hù)組id |
狀態(tài)碼: 400
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
狀態(tài)碼: 401
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
狀態(tài)碼: 403
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
狀態(tài)碼: 404
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
狀態(tài)碼: 500
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
狀態(tài)碼: 503
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
error_code |
String |
錯(cuò)誤碼 |
|
error_msg |
String |
錯(cuò)誤信息 |
請(qǐng)求示例
創(chuàng)建名為xxx的python2.7函數(shù),內(nèi)存大小為128MB,超時(shí)時(shí)間3s。
POST https://{Endpoint}/v2/{project_id}/fgs/functions
{
"func_name" : "xxx",
"package" : "xxx",
"runtime" : "Python2.7",
"handler" : "index.py",
"memory_size" : 128,
"code_type" : "inline",
"timeout" : 3,
"func_code" : {
"file" : "xxxxx",
"link" : ""
}
}
響應(yīng)示例
狀態(tài)碼: 200
ok
{
"func_urn" : "urn:fss:xxxxxxxxx:c3b2459a6d5e4b548e6777e57852692d:function:default:TestCreateFunctionInPythonSdk:latest",
"func_name" : "TestCreateFunctionInPythonSdk",
"domain_id" : "14ee2e3501124efcbca7998baa24xxxx",
"namespace" : "46b6f338fc3445b8846c71dfb1fbxxxx",
"project_name" : "xxxxxxxxxx",
"package" : "default",
"runtime" : "Python3.6",
"timeout" : 3,
"handler" : "index.handler",
"memory_size" : 128,
"cpu" : 300,
"code_type" : "inline",
"code_filename" : "index.py",
"code_size" : 100,
"digest" : "",
"version" : "latest",
"image_name" : "latest-191025153727@zehht",
"last_modified" : "2019-10-25 15:37:27",
"strategy_config" : {
"concurrency" : 0
}
}
狀態(tài)碼: 400
Bad Request 請(qǐng)求錯(cuò)誤。
{
"error_code" : "FSS.0401",
"error_msg" : "not permit"
}
狀態(tài)碼: 401
Unauthorized 鑒權(quán)失敗。
{
"error_code" : "FSS.0401",
"error_msg" : "not permit"
}
狀態(tài)碼: 403
Forbidden 沒(méi)有操作權(quán)限。
{
"error_code" : "FSS.0401",
"error_msg" : "not permit"
}
狀態(tài)碼
|
狀態(tài)碼 |
描述 |
|---|---|
|
200 |
ok |
|
400 |
Bad Request 請(qǐng)求錯(cuò)誤。 |
|
401 |
Unauthorized 鑒權(quán)失敗。 |
|
403 |
Forbidden 沒(méi)有操作權(quán)限。 |
|
404 |
Not Found 找不到資源。 |
|
500 |
Internal Server Error 服務(wù)內(nèi)部錯(cuò)誤。 |
|
503 |
Service Unavailable 服務(wù)不可用 |
錯(cuò)誤碼
請(qǐng)參見(jiàn)錯(cuò)誤碼。
最新文章
- 如何使用模板創(chuàng)建函數(shù)_模板創(chuàng)建函數(shù)_函數(shù)工作流 FunctionGraph-華為云
- GaussDB函數(shù)_GaussDB數(shù)據(jù)庫(kù)函數(shù)_高斯數(shù)據(jù)庫(kù)函數(shù)_華為云
- GaussDB支持的函數(shù)_GaussDB函數(shù)類(lèi)型解析_高斯數(shù)據(jù)庫(kù)支持的函數(shù)-華為云
- GaussDB數(shù)據(jù)庫(kù)函數(shù)_GaussDB函數(shù)和操作符_高斯數(shù)據(jù)庫(kù)函數(shù)-華為云
- 調(diào)用函數(shù)_函數(shù)調(diào)用方式_函數(shù)工作流 FunctionGraph-華為云
- GaussDB數(shù)據(jù)庫(kù)函數(shù)_GaussDB介紹_高斯數(shù)據(jù)庫(kù)函數(shù)
