华为云用户手册

  • 响应示例 状态码: 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" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } } ], "next_marker" : 5 } 状态码: 404 Not Found 找不到资源。 { "error_code" : "FSS.1051", "error_msg" : "Not found the function" }
  • URI GET /v2/{project_id}/fgs/functions/{function_urn}/versions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一次查询到的最后的记录位置。 maxitems 否 String 每次查询获取的最大函数记录数量。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 versions Array of ListFunctionVersionResult objects 版本列表 next_marker Long 下一次记录位置 count Long 版本总数 表5 ListFunctionVersionResult 参数 参数类型 描述 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 last_modified String 函数最后一次更新时间。 func_vpc_id String 用户的vpcid concurrency Integer 0:函数被禁用;-1:函数被启用。 concurrent_num Integer 并发实例数 strategy_config StrategyConfig object 函数策略配置。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 long_time Boolean 是否是支持长时间运行 function_async_config FunctionAsyncConfig object 函数异步配置返回结构体。 type String 函数版本 enable_cloud_debug String 是否启用cloud debug功能 enable_dynamic_memory Boolean 是否启用动态内存功能 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 is_stateful_function Boolean 是否支持有状态,如果需要支持,需要固定传参为true,v2版本支持 enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息 custom_image CustomImage object 用户容器镜像。 reserved_instance_idle_mode Boolean 是否开启预留实例闲置模式 表6 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表7 FunctionAsyncConfig 参数 参数类型 描述 max_async_event_age_in_seconds Integer 消息最大存活时长,取值范围[60,86400]。单位:秒。 max_async_retry_attempts Integer 异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。 destination_config FuncAsyncDestinationConfig object 异步调用目标。 created_time String 异步调用配置的创建时间。 last_modified String 异步调用配置的最后更改时间。 表8 FuncAsyncDestinationConfig 参数 参数类型 描述 on_success FuncDestinationConfig object 当函数执行成功时,函数计算将调用该配置对应的目标。 on_failure FuncDestinationConfig object 当函数执行失败(系统错误或函数内部错误)时,函数计算将调用该配置对应的目标。 表9 FuncDestinationConfig 参数 参数类型 描述 destination String 目标类型。 OBS:通知到OBS服务。 SMN:通知到SMN服务。 DIS:通知到DIS服务。 FunctionGraph: 通知到函数服务。 枚举值: OBS SMN DIS FunctionGraph param String 通知目标服务对应参数,json字符串。 OBS:包含bucket桶,对象目录前缀prefix,对象默认expires过期时间[0~365]天,0默认不过期。 SMN:包含smn 主题topic_urn。 DIS:包含DIS 通道名stream_name。 FunctionGraph:包含func_urn,函数urn 表10 CustomImage 参数 参数类型 描述 enabled Boolean 是否启用 image String 镜像地址 command String 启动容器镜像的命令 args String 启动容器镜像的命令行参数 working_dir String 镜像容器工作目录 uid String 镜像容器的用户id gid String 镜像容器的用户组id 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "func_id" : "0d075978-5a54-4ee1-8e24-ff5bd070xxxx", "resource_id" : "0d075978-5a54-4ee1-8e24-ff5bd070xxxx:test", "func_urn" : "urn:fss:xxxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest", "func_name" : "test", "domain_id" : "14ee2e3501124efcbca7998baa24xxxx", "namespace" : "46b6f338fc3445b8846c71dfb1fbxxxx", "project_name" : "xxxxxxxxx", "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" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "ephemeral_storage" : 512, "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } } 状态码: 404 Not Found 找不到资源。 { "error_code" : "FSS.1051", "error_msg" : "Not found the function" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 func_id String 函数id,唯一标识函数。 resource_id String 资源id。 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 gpu_memory Integer 函数消耗的显存,只支持自定义运行时与自定义镜像函数配置GPU。 单位MB。 取值范围为:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值为1024,最大值为16384。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 last_modified String 函数最后一次更新时间。 ephemeral_storage Integer 临时存储大小。 枚举值: 512 10240 func_vpc FuncVpc object 函数vpc配置。 mount_config MountConfig object 函数挂载配置。 depend_list Array of strings 依赖id列表 depend_version_list Array of strings 依赖版本id列表 strategy_config StrategyConfig object 函数策略配置。 dependencies Array of Dependency objects 函数依赖代码包列表。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。 log_group_id String 自定义日志查询组id log_stream_id String 自定义日志查询流id type String v2表示为公测版本,v1为原来版本。 枚举值: v1 v2 enable_dynamic_memory Boolean 是否允许动态内存配置 is_stateful_function Boolean 是否支持有状态,如果需要支持,需要固定传参为true,v2版本支持 enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息 custom_image CustomImage object 用户容器镜像。 表4 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表5 MountConfig 参数 参数类型 描述 mount_user MountUser object 挂载用户信息。 func_mounts Array of FuncMount objects 函数挂载列表。 表6 MountUser 参数 参数类型 描述 user_id String 用户ID(-1~65534的非0整数) user_group_id String 用户组ID(-1~65534的非0整数) 表7 FuncMount 参数 参数类型 描述 mount_type String 挂载类型(sfs/sfsTurbo/ecs),func_mounts非空时必选。 mount_resource String 挂载资源ID(对应云服务ID),func_mounts非空时必选。 mount_share_path String 远端挂载路径(例如192.168.0.12:/data),如果mount_type为ecs,必选。 local_mount_path String 函数访问路径,func_mounts非空时必选。 表8 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表9 Dependency 参数 参数类型 描述 owner String 依赖包属主的domainId。 link String 依赖包在OBS上的链接。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 依赖包文件名,如果创建方式为zip时。 表10 CustomImage 参数 参数类型 描述 enabled Boolean 是否启用 image String 镜像地址 command String 启动容器镜像的命令 args String 启动容器镜像的命令行参数 working_dir String 镜像容器工作目录 uid String 镜像容器的用户id gid String 镜像容器的用户组id 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK null 状态码: 400 Invalid RequestId { "error_code" : "FSS.0400", "error_msg" : "Invalid RequestId" } 状态码: 403 FORBIDDEN { "error_code" : "FSS.0403", "error_msg" : "invalid token" } 状态码: 404 Not Found { "error_code" : "FSS.0404", "error_msg" : "can not find function" } 状态码: 500 内部错误 { "error_code" : "FSS.0500", "error_msg" : "xxx" }
  • 请求示例 查询资源实例。 POST https://{Endpoint}/v2/{project_id}/{resource_type}/resource-instances/{action} { "without_any_tag" : true, "limit" : 5, "matches" : [ { "key" : "resource_name", "value" : "test_function" } ] }
  • 响应示例 状态码: 200 ok 示例 1 { "resources" : [ { "resource_id" : "34e4516e-e324-412b-914e-c4e568c7d813", "resource_detail" : { "func_urn" : "", "func_name" : "test_v2_1", "domain_id" : "f0a16ead2b344414a5ff053409c4xxxx", "namespace" : "e3e37049e339493d996313d658f7xxxx", "project_name" : "{region}", "package" : "default", "runtime" : "Node.js6.10", "timeout" : 3, "handler" : "index.handler", "memory_size" : 128, "cpu" : 300, "code_type" : "inline", "code_filename" : "index.zip", "code_size" : "247", "digest" : "608239783ff8efe2cd8b623530c5afdcfed38fca66beb99c26d7ff4dcb872e091d4976bc8b0e5986d8f185d55fdf92ff7c55980f8c91d01cd36402763c0d1d13", "version" : "latest", "image_name" : "latest-191211192124@po1lk", "strategy_config" : { } }, "tags" : [ ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "value" : "df5edab8-c458-4a4c-b87b-a4d3b0a757ce" } ], "resource_name" : "test_v2_1" } ] } 示例 2 1
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 resources Array of ListEnterpriseResourceResult objects 企业项目列表 total_count Long 资源数 表7 ListEnterpriseResourceResult 参数 参数类型 描述 resource_id String 资源ID resource_detail ListFunctionResult object 函数属性结构体。 tags Array of KvItem objects 标签列表 sys_tags Array of KvItem objects 系统标签列表 resource_name String 资源名称 表8 ListFunctionResult 参数 参数类型 描述 resource_id String 资源id。 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 gpu_memory Integer 函数消耗的显存,只支持自定义运行时与自定义镜像函数配置GPU。 单位MB。 取值范围为:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值为1024,最大值为16384。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 last_modified String 函数最后一次更新时间。 func_vpc_id String 用户的vpcid。 strategy_config StrategyConfig object 函数策略配置。 extend_config String 函数扩展配置。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。 log_group_id String 自定义日志查询组id log_stream_id String 自定义日志查询流id type String v2表示为公测版本,v1为原来版本。 枚举值: v1 v2 fail_count Integer 函数最近1天内执行失败的次数。 is_bridge_function Boolean 是否为bridge函数 bind_bridge_funcUrns Array of strings 绑定bridge函数的urn列表 表9 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表10 KvItem 参数 参数类型 描述 key String 键 value String 值 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • URI POST /v2/{project_id}/{resource_type}/resource-instances/{action} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 resource_type 是 String 资源类型 action 是 String 过滤/计数 枚举值: filter count
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 without_any_tag 否 Boolean 是否通过标签过滤 limit 否 String 每页显示条数 offset 否 String 查询偏移量 action 否 String 查询指定action 枚举值: count filter matches 否 Array of KvItem objects 查询指定键值对 sys_tags 否 Array of TagItem objects 查询指定系统标签列表 表4 KvItem 参数 是否必选 参数类型 描述 key 否 String 键 value 否 String 值 表5 TagItem 参数 是否必选 参数类型 描述 key 否 String 键 values 否 Array of strings 值
  • 响应示例 状态码: 200 OK { "func_urn" : "urn:fss:xxxxxxxxx: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" : "inline.js", "code_size" : 272, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } } 状态码: 404 Not Found 找不到资源。 { "error_code" : "FSS.1051", "error_msg" : "Not found the function" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 version_description String 函数版本描述。 last_modified String 函数最后一次更新时间。 func_vpc FuncVpc object 函数vpc配置。 mount_config MountConfig object 函数挂载配置。 strategy_config StrategyConfig object 函数策略配置。 dependencies Array of Dependency objects 函数依赖代码包列表。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。 log_group_id String 自定义日志查询组id log_stream_id String 自定义日志查询流id type String v2表示为公测版本,v1为原来版本。 枚举值: v1 v2 enable_dynamic_memory Boolean 是否允许动态内存配置 function_async_config FunctionAsyncConfig object 函数异步配置返回结构体。 表5 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表6 MountConfig 参数 参数类型 描述 mount_user MountUser object 挂载用户信息。 func_mounts Array of FuncMount objects 函数挂载列表。 表7 MountUser 参数 参数类型 描述 user_id String 用户ID(-1~65534的非0整数) user_group_id String 用户组ID(-1~65534的非0整数) 表8 FuncMount 参数 参数类型 描述 mount_type String 挂载类型(sfs/sfsTurbo/ecs),func_mounts非空时必选。 mount_resource String 挂载资源ID(对应云服务ID),func_mounts非空时必选。 mount_share_path String 远端挂载路径(例如192.168.0.12:/data),如果mount_type为ecs,必选。 local_mount_path String 函数访问路径,func_mounts非空时必选。 表9 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表10 Dependency 参数 参数类型 描述 owner String 依赖包属主的domainId。 link String 依赖包在OBS上的链接。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 依赖包文件名,如果创建方式为zip时。 表11 FunctionAsyncConfig 参数 参数类型 描述 max_async_event_age_in_seconds Integer 消息最大存活时长,取值范围[60,86400]。单位:秒。 max_async_retry_attempts Integer 异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。 destination_config FuncAsyncDestinationConfig object 异步调用目标。 created_time String 异步调用配置的创建时间。 last_modified String 异步调用配置的最后更改时间。 表12 FuncAsyncDestinationConfig 参数 参数类型 描述 on_success FuncDestinationConfig object 当函数执行成功时,函数计算将调用该配置对应的目标。 on_failure FuncDestinationConfig object 当函数执行失败(系统错误或函数内部错误)时,函数计算将调用该配置对应的目标。 表13 FuncDestinationConfig 参数 参数类型 描述 destination String 目标类型。 OBS:通知到OBS服务。 SMN:通知到SMN服务。 DIS:通知到DIS服务。 FunctionGraph: 通知到函数服务。 枚举值: OBS SMN DIS FunctionGraph param String 通知目标服务对应参数,json字符串。 OBS:包含bucket桶,对象目录前缀prefix,对象默认expires过期时间[0~365]天,0默认不过期。 SMN:包含smn 主题topic_urn。 DIS:包含DIS 通道名stream_name。 FunctionGraph:包含func_urn,函数urn 状态码: 400 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 digest 否 String md5键值 version 否 String 发布版本名称 description 否 String 发布版本描述
  • 响应示例 状态码: 200 OK { "func_urn" : "urn:fss:xxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test", "func_name" : "test", "domain_id" : "14ee2e3501124efcbca7998baa24xxxx", "namespace" : "46b6f338fc3445b8846c71dfb1fbxxxx", "project_name" : "xxxxxx", "package" : "default", "runtime" : "Node.js6.10", "timeout" : 3, "handler" : "fssExampleCsharp2.1::fssExampleCsharp21.Program::MyFunc", "memory_size" : 128, "cpu" : 300, "code_type" : "inline", "code_filename" : "index.js", "code_size" : 272, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 300, "concurrent_num" : 1 } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 last_modified String 函数最后一次更新时间。 func_vpc FuncVpc object 函数vpc配置。 mount_config MountConfig object 函数挂载配置。 strategy_config StrategyConfig object 函数策略配置。 dependencies Array of Dependency objects 函数依赖代码包列表。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。 log_group_id String 自定义日志查询组id log_stream_id String 自定义日志查询流id type String v2表示为公测版本,v1为原来版本。 枚举值: v1 v2 enable_dynamic_memory Boolean 是否启动动态内存配置 is_stateful_function Boolean 是否支持有状态,如果需要支持,需要固定传参为true,v2版本支持 domain_names String 函数配置的需要支持域名解析的内网域名。 表5 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表6 MountConfig 参数 参数类型 描述 mount_user MountUser object 挂载用户信息。 func_mounts Array of FuncMount objects 函数挂载列表。 表7 MountUser 参数 参数类型 描述 user_id String 用户ID(-1~65534的非0整数) user_group_id String 用户组ID(-1~65534的非0整数) 表8 FuncMount 参数 参数类型 描述 mount_type String 挂载类型(sfs/sfsTurbo/ecs),func_mounts非空时必选。 mount_resource String 挂载资源ID(对应云服务ID),func_mounts非空时必选。 mount_share_path String 远端挂载路径(例如192.168.0.12:/data),如果mount_type为ecs,必选。 local_mount_path String 函数访问路径,func_mounts非空时必选。 表9 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表10 Dependency 参数 参数类型 描述 owner String 依赖包属主的domainId。 link String 依赖包在OBS上的链接。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 依赖包文件名,如果创建方式为zip时。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 导入函数,文件名为"test.zip",类型为zip,文件base64编码为"xxx"。 POST https://{Endpoint}/v2/{project_id}/fgs/functions/import { "func_name" : "test", "file_name" : "test.zip", "file_type" : "zip", "file_code" : "xxxxxxxxxxxxxxxxxxxxx" }
  • 响应示例 状态码: 200 ok { "func_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbd9e8:function:default:test_v1_2", "func_name" : "test_v1_2", "domain_id" : "14ee2e35****a7998b******aa24cabf", "namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8", "project_name" : "{region}", "package" : "default", "runtime" : "Node.js6.10", "timeout" : 3, "handler" : "index.handler", "memory_size" : 128, "cpu" : 300, "code_type" : "zip", "code_filename" : "index.zip", "code_size" : 6709, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : -1 }, "enterprise_project_id" : "46b6f338fc3445b8846c71dfb1fbxxxx" } 状态码: 409 Conflict { "error_code" : "FSS.1061", "error_msg" : "The function has existed" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 gpu_memory Integer 函数消耗的显存,只支持自定义运行时与自定义镜像函数配置GPU。 单位MB。 取值范围为:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值为1024,最大值为16384。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 version_description String 函数版本描述。 last_modified String 函数最后一次更新时间。 func_vpc FuncVpc object 函数vpc配置。 depend_list Array of strings 依赖id列表 depend_version_list Array of strings 依赖版本id列表 strategy_config StrategyConfig object 函数策略配置。 extend_config String 函数扩展配置。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 表4 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表5 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 状态码: 409 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 ok { "functions" : [ { "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test", "resource_id" : "0d075978-5a54-4ee1-8e24-ff5bd070xxxx:test", "func_name" : "test", "domain_id" : "cff01_hk", "namespace" : "7aad83af3e8d42e99ac194e8419e2c9b", "project_name" : "xxxxxxxx", "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" : "decbce6939297b0b5ec6d1a23bf9c725870f5e69fc338a89a6a4029264688dc26338f56d08b6535de47f15ad538e22ca66613b9a46f807d50b687bb53fded1c6", "version" : "latest", "xrole" : "cff", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 }, "initializer_handler" : "index.initializer", "initializer_timeout" : 3, "pre_stop_handler" : "index.pre_stop_handler", "pre_stop_timeout" : 3, "fail_count" : 12 } ], "next_marker" : 4 }
  • URI GET /v2/{project_id}/fgs/functions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一次查询到的最后的记录位置。 maxitems 否 String 每次查询获取的最大函数记录数量 最大值:400 如果不提供该值或者提供的值大于400或等于0,则使用默认值:400 如果该值小于0,则返回参数错误。 package_name 否 String 应用名称。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 functions Array of ListFunctionResult objects 函数列表。 next_marker Integer 函数下次记录读取位置。 count Long 满足查询条件的函数总数。 表5 ListFunctionResult 参数 参数类型 描述 resource_id String 资源id。 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 func_name String 函数名称。 domain_id String 域名id。 namespace String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 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函数。 枚举值: 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 函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询客服进行配置 handler String 函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 memory_size Integer 函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 gpu_memory Integer 函数消耗的显存,只支持自定义运行时与自定义镜像函数配置GPU。 单位MB。 取值范围为:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值为1024,最大值为16384。 cpu Integer 函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar code_url String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename String 函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 code_size Long 函数大小,单位:字节。 user_data String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data String 用户自定义的name/value信息,用于需要加密的配置。 digest String 函数代码SHA512 hash值,用于判断函数是否变化。 version String 函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 image_name String 函数版本的内部标识。 xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description String 函数描述。 last_modified String 函数最后一次更新时间。 func_vpc_id String 用户的vpcid。 strategy_config StrategyConfig object 函数策略配置。 extend_config String 函数扩展配置。 initializer_handler String 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 initializer_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~300秒。 pre_stop_handler String 函数预停止函数的入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.pre_stop_handler,则表示函数的文件名为myfunction.js,初始化的入口函数名为pre_stop_handler。 pre_stop_timeout Integer 初始化超时时间,超时函数将被强行停止,范围1~90秒。 enterprise_project_id String 企业项目ID,在企业用户创建函数时必填。 long_time Boolean 是否允许进行长时间超时设置。 log_group_id String 自定义日志查询组id log_stream_id String 自定义日志查询流id type String v2表示为公测版本,v1为原来版本。 枚举值: v1 v2 fail_count Integer 函数最近1天内执行失败的次数。 is_bridge_function Boolean 是否为bridge函数 bind_bridge_funcUrns Array of strings 绑定bridge函数的urn列表 表6 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • URI DELETE /v2/{project_id}/fgs/functions/{function_urn}/events/{event_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 event_id 是 String 测试事件ID
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 当AK/SK签名调用函数时,需传入x-project-id请求头(目前利雅得局点和有子项目场景必传,其他局点可不传入)。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 group_name String 日志组名称 group_id String 日志组id stream_id String 日志流id stream_name String 日志流名称 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 手动构建验证 在浏览器地址栏输入http://{安装Jekins的Linux虚拟机IP}:8080,登录Jenkins。 单击“我的视图”。 选择对应的构建任务,单击构建任务名称进入详情界面。 单击“立即构建”,生成构建任务。 在“构建历史”以及“阶段视图”中会有对应的构建任务信息。鼠标悬浮在对应步骤上,会展示任务状态以及日志按钮。单击“log”查看日志。 登录ServiceStage控制台。 单击“组件管理”。 在组件列表中单击升级的组件名称,进入组件“概览”界面。 在“概览”界面,查看“组件版本”以及组件包“代码源”是否已经更新。 单击“部署记录”,查看对应的部署记录。 父主题: 构建验证
  • 相关软件下载及安装 Jenkins下载安装 下载链接:https://mirrors.jenkins.io/war-stable/,参考https://www.jenkins.io/zh/doc/book/installing/进行安装。 安装git用于拉取代码进行构建命令 yum install git –y JDK安装包下载 https://www.oracle.com/cn/java/technologies/downloads/#java11 Maven安装包下载 https://maven.apache.org/download.cgi 安装Docker用于打包镜像包并上传到镜像仓库 yum install docker
共100000条