華為云計(jì)算 云知識(shí) 修改函數(shù)代碼UpdateFunctionCode
修改函數(shù)代碼UpdateFunctionCode

 

功能介紹

修改指定的函數(shù)的代碼。

調(diào)試

您可以在API Explorer中調(diào)試該接口,支持自動(dòng)認(rèn)證鑒權(quán)。API Explorer可以自動(dòng)生成SDK代碼示例,并提供SDK代碼示例調(diào)試功能。

URI

PUT /v2/{project_id}/fgs/functions/{function_urn}/code

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

租戶項(xiàng)目 ID,獲取方式請(qǐng)參見(jiàn)獲取項(xiàng)目ID。

function_urn

String

函數(shù)的URN,詳細(xì)解釋見(jiàn)FunctionGraph函數(shù)模型的描述。

請(qǐng)求參數(shù)

表2 請(qǐng)求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

X-Auth-Token

String

用戶Token。

通過(guò)調(diào)用 IAM 服務(wù)獲取用戶Token接口獲?。憫?yīng)消息頭中X-Subject-Token的值)。

表3 請(qǐng)求Body參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

code_type

String

函數(shù)代碼類型,取值有4種。 inline: UI在線編輯代碼。 zip: 函數(shù)代碼為zip包。 obs: 函數(shù)代碼來(lái)源于obs存儲(chǔ)。 jar: 函數(shù)代碼為jar包,主要針對(duì)Java函數(shù)。

枚舉值:

  • inline

  • zip

  • obs

  • jar

code_url

String

當(dāng)CodeType為obs時(shí),該值為函數(shù)代碼包在OBS上的地址,CodeType為其他值時(shí),該字段為空。

code_filename

String

函數(shù)的文件名,當(dāng)CodeType為jar/zip時(shí)必須提供該字段,inline和obs不需要提供。

func_code

FuncCode object

FuncCode結(jié)構(gòu)返回體。

depend_list

Array of strings

依賴id列表

depend_version_list

Array of strings

依賴版本id列表

表4 FuncCode

參數(shù)

是否必選

參數(shù)類型

描述

file

String

函數(shù)代碼,如果不為空必須進(jìn)行base64編碼,為空時(shí)使用默認(rèn)的代碼。

link

String

函數(shù)代碼鏈接。

響應(yīng)參數(shù)

狀態(tài)碼: 200

表5 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

func_urn

String

函數(shù)的URN(Uniform Resource Name),唯一標(biāo)識(shí)函數(shù)。

func_name

String

函數(shù)名稱。

domain_id

String

域名id。

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ù)。

枚舉值:

  • Java8

  • Java11

  • Node.js6.10

  • Node.js8.10

  • Node.js10.16

  • Node.js12.13

  • Node.js14.18

  • Python2.7

  • Python3.6

  • Go1.8

  • Go1.x

  • C#(.NET Core 2.0)

  • C#(.NET Core 2.1)

  • C#(.NET Core 3.1)

  • Custom

  • PHP7.3

  • Python3.9

  • http

code_type

String

函數(shù)代碼類型,取值有4種。 inline: UI在線編輯代碼。 zip: 函數(shù)代碼為zip包。 obs: 函數(shù)代碼來(lái)源于obs存儲(chǔ)。 jar: 函數(shù)代碼為jar包,主要針對(duì)Java函數(shù)。

枚舉值:

  • inline

  • zip

  • obs

  • jar

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é)。

digest

String

函數(shù)代碼SHA512 hash值,用于判斷函數(shù)是否變化。

last_modified

String

函數(shù)最后一次更新時(shí)間。

func_code

FuncCode object

FuncCode結(jié)構(gòu)返回體。

depend_list

Array of strings

依賴id列表

depend_version_list

Array of strings

依賴版本id列表

strategy_config

StrategyConfig object

函數(shù)策略配置。

dependencies

Array of Dependency objects

函數(shù)依賴代碼包列表。

表6 FuncCode

參數(shù)

參數(shù)類型

描述

file

String

函數(shù)代碼,如果不為空必須進(jìn)行base64編碼,為空時(shí)使用默認(rèn)的代碼。

link

String

函數(shù)代碼鏈接。

表7 StrategyConfig

參數(shù)

參數(shù)類型

描述

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

表8 Dependency

參數(shù)

參數(shù)類型

描述

owner

String

依賴包屬主的domainId。

link

String

依賴包在OBS上的鏈接。

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ù)。

枚舉值:

  • Java8

  • Java11

  • Node.js6.10

  • Node.js8.10

  • Node.js10.16

  • Node.js12.13

  • Node.js14.18

  • Python2.7

  • Python3.6

  • Go1.8

  • Go1.x

  • C#(.NET Core 2.0)

  • C#(.NET Core 2.1)

  • C#(.NET Core 3.1)

  • Custom

  • PHP7.3

  • Python3.9

  • http

etag

String

依賴包的md5值

size

Long

依賴包大小。

name

String

依賴包名稱。

description

String

依賴包描述。

file_name

String

依賴包文件名,如果創(chuàng)建方式為zip時(shí)。

狀態(tài)碼: 400

表9 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯(cuò)誤碼

error_msg

String

錯(cuò)誤信息

狀態(tài)碼: 401

表10 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯(cuò)誤碼

error_msg

String

錯(cuò)誤信息

狀態(tài)碼: 403

表11 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯(cuò)誤碼

error_msg

String

錯(cuò)誤信息

狀態(tài)碼: 404

表12 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯(cuò)誤碼

error_msg

String

錯(cuò)誤信息

狀態(tài)碼: 500

表13 響應(yīng)Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯(cuò)誤碼

error_msg

String

錯(cuò)誤信息

請(qǐng)求示例

修改指定函數(shù)代碼,。

PUT https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/code

{
  "code_filename" : "index.zip",
  "code_type" : "inline",
  "func_code" : {
  }
}

響應(yīng)示例

狀態(tài)碼: 200

OK

{
  "func_urn" : "urn:fss:xxxxxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest",
  "func_name" : "test",
  "domain_id" : "14ee2e3501124efcbca7998baa24xxxx",
  "runtime" : "Node.js6.10",
  "code_type" : "inline",
  "code_filename" : "index.js",
  "code_size" : 245,
  "digest" : "",
  "last_modified" : "2019-10-31 11:37:58",
  "func_code" : {
    "link" : ""
  },
  "strategy_config" : {
    "concurrency" : -1
  }
}

狀態(tài)碼: 404

Not Found 找不到資源。

{
  "error_code" : "FSS.1052",
  "error_msg" : "Not found the function version"
}

狀態(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ò)誤。

錯(cuò)誤碼

請(qǐng)參見(jiàn)錯(cuò)誤碼。