華為云計算 云知識 獲取指定函數(shù)的版本列表ListFunctionVersions
獲取指定函數(shù)的版本列表ListFunctionVersions

 

功能介紹

獲取指定函數(shù)的版本列表。

調(diào)試

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

URI

GET /v2/{project_id}/fgs/functions/{function_urn}/versions

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

租戶項目 ID,獲取方式請參見獲取項目ID。

function_urn

String

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

表2 Query參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

marker

String

上一次查詢到的最后的記錄位置。

maxitems

String

每次查詢獲取的最大函數(shù)記錄數(shù)量。

請求參數(shù)

表3 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

X-Auth-Token

String

用戶Token。

通過調(diào)用 IAM 服務獲取用戶Token接口獲?。憫㈩^中X-Subject-Token的值)。

響應參數(shù)

狀態(tài)碼: 200

表4 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

versions

Array of ListFunctionVersionResult objects

版本列表

next_marker

Long

下一次記錄位置

count

Long

版本總數(shù)

表5 ListFunctionVersionResult

參數(shù)

參數(shù)類型

描述

func_urn

String

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

func_name

String

函數(shù)名稱。

domain_id

String

域名id。

namespace

String

租戶的project id。

project_name

String

租戶的project name。

package

String

函數(shù)所屬的分組Package,用于用戶針對函數(shù)的自定義分組。

runtime

String

FunctionGraph函數(shù)的執(zhí)行環(huán)境 Python2.7: Python語言2.7版本。 Python3.6: Pyton語言3.6版本。 Python3.9: Python語言3.9版本。 Go1.8: Go語言1.8版本。 Go1.x: Go語言1.x版本。 Java8: Java語言8版本。 Java11: Java語言11版本。 Node.js6.10: Nodejs語言6.10版本。 Node.js8.10: Nodejs語言8.10版本。 Node.js10.16: Nodejs語言10.16版本。 Node.js12.13: Nodejs語言12.13版本。 Node.js14.18: Nodejs語言14.18版本。 C#(.NET Core 2.0): C#語言2.0版本。 C#(.NET Core 2.1): C#語言2.1版本。 C#(.NET Core 3.1): C#語言3.1版本。 Custom: 自定義運行時。 PHP7.3: Php語言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

timeout

Integer

函數(shù)執(zhí)行超時時間,超時函數(shù)將被強行停止,范圍3~900秒,可以通過白名單配置延長到12小時,具體可以咨詢?nèi)A為云 函數(shù)工作流 服務進行配置

handler

String

函數(shù)執(zhí)行入口 規(guī)則:xx.xx,必須包含“. ” 舉例:對于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。

cpu

Integer

函數(shù)占用的cpu資源。 單位為millicore(1 core=1000 millicores)。 取值與MemorySize成比例,默認是128M內(nèi)存占0.1個核(100 millicores)。 函數(shù)占用的CPU為基礎CPU:200 millicores,再加上內(nèi)存按比例占用的CPU,計算方法:內(nèi)存/128 *100 + 200。

code_type

String

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

枚舉值:

  • inline

  • zip

  • obs

  • jar

code_url

String

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

code_filename

String

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

code_size

Long

函數(shù)大小,單位:字節(jié)。

user_data

String

用戶自定義的name/value信息。 在函數(shù)中使用的參數(shù)。 舉例:如函數(shù)要訪問某個主機,可以設置自定義參數(shù):Host={host_ip},最多定義20個,總長度不超過4KB。

encrypted_user_data

String

用戶自定義的name/value信息,用于需要加密的配置。

digest

String

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

version

String

函數(shù)版本號,由系統(tǒng)自動生成,規(guī)則:vYYYYMMDD-HHMMSS(v+年月日-時分秒)。

image_name

String

函數(shù)版本的內(nèi)部標識。

xrole

String

函數(shù)使用的權(quán)限委托名稱,需要IAM支持,并在IAM界面創(chuàng)建委托,當函數(shù)需要訪問其他服務時,必須提供該字段。

app_xrole

String

函數(shù)app使用的權(quán)限委托名稱,需要IAM支持,并在IAM界面創(chuàng)建委托,當函數(shù)需要訪問其他服務時,必須提供該字段。

last_modified

String

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

func_vpc_id

String

用戶的vpcid

concurrency

Integer

0:函數(shù)被禁用;-1:函數(shù)被啟用。

concurrent_num

Integer

并發(fā)實例數(shù)

strategy_config

StrategyConfig object

函數(shù)策略配置。

initializer_handler

String

函數(shù)初始化入口,規(guī)則:xx.xx,必須包含“. ”。 舉例:對于node.js函數(shù):myfunction.initializer,則表示函數(shù)的文件名為myfunction.js,初始化的入口函數(shù)名為initializer。

initializer_timeout

Integer

初始化超時時間,超時函數(shù)將被強行停止,范圍1~300秒。

long_time

Boolean

是否是支持長時間運行

function_async_config

FunctionAsyncConfig object

函數(shù)異步配置返回結(jié)構(gòu)體。

type

String

函數(shù)版本

enable_cloud_debug

String

是否啟用cloud debug功能

enable_dynamic_memory

Boolean

是否啟用動態(tài)內(nèi)存功能

enterprise_project_id

String

企業(yè)項目ID,在企業(yè)用戶創(chuàng)建函數(shù)時必填。

is_stateful_function

Boolean

是否支持有狀態(tài),如果需要支持,需要固定傳參為true,v2版本支持

enable_auth_in_header

Boolean

是否允許在請求頭中添加鑒權(quán)信息

custom_image

CustomImage object

用戶容器 鏡像 。

reserved_instance_idle_mode

Boolean

是否開啟預留實例閑置模式

表6 StrategyConfig

參數(shù)

參數(shù)類型

描述

concurrency

Integer

單函數(shù)最大實例數(shù),v1取值0和-1,v2取值-1到1000 -1代表該函數(shù)實例數(shù)無限制 0代表該函數(shù)被禁用

concurrent_num

Integer

單實例最大并發(fā)數(shù),v2版本才支持,取值-1到1000

表7 FunctionAsyncConfig

參數(shù)

參數(shù)類型

描述

max_async_event_age_in_seconds

Integer

消息最大存活時長,取值范圍[60,86400]。單位:秒。

max_async_retry_attempts

Integer

異步調(diào)用失敗后的最大重試次數(shù),默認值為3。取值范圍[0,8]。

destination_config

FuncAsyncDestinationConfig object

異步調(diào)用目標。

created_time

String

異步調(diào)用配置的創(chuàng)建時間。

last_modified

String

異步調(diào)用配置的最后更改時間。

表8 FuncAsyncDestinationConfig

參數(shù)

參數(shù)類型

描述

on_success

FuncDestinationConfig object

當函數(shù)執(zhí)行成功時,函數(shù)計算將調(diào)用該配置對應的目標。

on_failure

FuncDestinationConfig object

當函數(shù)執(zhí)行失敗(系統(tǒng)錯誤或函數(shù)內(nèi)部錯誤)時,函數(shù)計算將調(diào)用該配置對應的目標。

表9 FuncDestinationConfig

參數(shù)

參數(shù)類型

描述

destination

String

目標類型。

  • OBS:通知到OBS服務。

  • SMN :通知到SMN服務。

  • DIS:通知到DIS服務。

  • FunctionGraph: 通知到函數(shù)服務。

枚舉值:

  • OBS

  • SMN

  • DIS

  • FunctionGraph

param

String

通知目標服務對應參數(shù),json字符串。

  • OBS:包含bucket桶,對象目錄前綴prefix,對象默認expires過期時間[0~365]天,0默認不過期。

  • SMN:包含smn 主題topic_urn。

  • DIS:包含DIS 通道名stream_name。

  • FunctionGraph:包含func_urn,函數(shù)urn

表10 CustomImage

參數(shù)

參數(shù)類型

描述

enabled

Boolean

是否啟用

image

String

鏡像地址

command

String

啟動容器鏡像的命令

args

String

啟動容器鏡像的命令行參數(shù)

working_dir

String

鏡像容器工作目錄

uid

String

鏡像容器的用戶id

gid

String

鏡像容器的用戶組id

狀態(tài)碼: 400

表11 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯誤碼

error_msg

String

錯誤信息

狀態(tài)碼: 401

表12 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯誤碼

error_msg

String

錯誤信息

狀態(tài)碼: 403

表13 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯誤碼

error_msg

String

錯誤信息

狀態(tài)碼: 404

表14 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯誤碼

error_msg

String

錯誤信息

狀態(tài)碼: 500

表15 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

error_code

String

錯誤碼

error_msg

String

錯誤信息

請求示例

查詢函數(shù)列表。

GET https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/versions

響應示例

狀態(tài)碼: 200

OK

{
  "versions" : [ {
    "func_urn" : "urn:fss:xxxxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
    "func_name" : "test",
    "domain_id" : "14ee2e3501124efcbca7998baa24xxxx",
    "namespace" : "46b6f338fc3445b8846c71dfb1fbxxxx",
    "project_name" : "xxxxx",
    "package" : "default",
    "runtime" : "Node.js6.10",
    "timeout" : 3,
    "handler" : "test.handler",
    "memory_size" : 128,
    "cpu" : 300,
    "code_type" : "inline",
    "code_filename" : "index.js",
    "code_size" : 272,
    "digest" : "",
    "version" : "latest",
    "image_name" : "latest-191025153727@zehht",
    "last_modified" : "2019-10-25 15:37:27",
    "strategy_config" : {
      "concurrency" : 0
    }
  } ],
  "next_marker" : 5
}

狀態(tài)碼: 404

Not Found 找不到資源。

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

狀態(tài)碼

狀態(tài)碼

描述

200

OK

400

Bad Request 請求錯誤。

401

Unauthorized 鑒權(quán)失敗。

403

Forbidden 沒有操作權(quán)限。

404

Not Found 找不到資源。

500

Internal Server Error 服務內(nèi)部錯誤。

錯誤碼

請參見錯誤碼。