华为云用户手册

  • 修订记录 修订记录 发布日期 第十五次正式发布,进行了以下变更: 刷新SAP S4HANA1809同可用区高可用部署最佳实践 移除基于obsfs的HANA备份最佳实践 2023-11-06 第十四次正式发布,进行了以下变更: 刷新SAP S4HANA1809同可用区高可用部署最佳实践 2022-12-01 第十三次正式发布,进行了以下变更: 刷新SAP Backint安装指南和SAP监控最佳实践 2022-06-24 第十二次正式发布,进行了以下变更: 新增SAP Backint安装指南 2021-12-31 第十一次正式发布,进行了以下变更: 新增SAP由XEN往KVM平台迁移最佳实践 2021-10-08 第十次正式发布,进行了以下变更: 新增华为云SAP on Oracle安装最佳实践 新增华为云SAP Business One on HANA安装最佳实践 新增使用 SMS Linux块迁移SAP应用与数据库最佳实践 新增SAP应用RSYNC容灾方案最佳实践 2021-08-31 第九次正式发布,进行了以下变更: 新增华为云基于obsfs的HANA备份最佳实践 2021-08-04 第八次正式发布。进行了以下变更: 新增华为云SAP监控最佳实践 2021-06-30 第七次正式发布。进行了以下变更: 新增SAP S4HANA1809同可用区高可用部署最佳实践 新增华为云SAP on DB2安装最佳实践 新增华为云SAP on SQL Server安装最佳实践 新增华为云SAP SDRS容灾最佳实践 2021-06-07 第六次正式发布。进行了以下变更: 新增SAP系统迁移上华为云最佳实践。 2019-11-05 第五次正式发布。进行了以下变更: 增加变更规格的两种扩展方法,具体如变更规格及AZ/Region和变更规格及AZ/Region(低RTO)所示。 增加SAP ASE最佳实践。 2019-09-30 第四次正式发布。进行了以下变更: 刷新了SAP备份上传OBS最佳实践中适配obsutil工具的内容。 增加SAP系统扩容最佳实践。 2019-07-12 第三次正式发布。进行了以下变更: 刷新了应用容灾内容。 2019-05-27 第二次正式发布。进行了以下变更: 刷新了示例模板及其监控插件等内容。 2019-03-30 第一次正式发布。 2019-01-30
    SAP
  • 语法格式 CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ]
  • 参数使用方式 通过TEMPLATE指定数据库模板 使用 template1 模板库建库时不可指定新的字符集和本地化collate属性,collate属性请参见▪设置数据库的本土化信息(collate)。 CREATE DATABASE my_db WITH TEMPLATE template1 ; 使用template0可指定字符集和本地化collate属性,collate属性请参见▪设置数据库的本土化信息(collate)。 CREATE DATABASE my_db WITH ENCODING = 'UTF8' LC_COLLATE ='zh_CN.utf8' LC_CTYPE ='zh_CN.utf8' TEMPLATE = template0 ; 创建数据库时不指定模板,则默认模板为template1。用户也可以指定其他的自定义模板创建数据库。 CREATE DATABASE my_db WITH TEMPLATE = mytemplate; 通过WITH ENCODING指定字符集 CREATE DATABASE my_db WITH ENCODING 'UTF8'; LC_COLLATE和LC_CTYPE 查询字符集支持的LC_COLLATE和LC_CTYPE信息 SELECT pg_encoding_to_char(collencoding) AS encoding,collname,collcollate AS "LC_COLLATE",collctype AS "LC_CTYPE" FROM pg_collation; encoding为空时,表示当前LC_COLLATE支持所有的字符集。 设置数据库的本土化信息(collate) 执行如下命令,创建一个 LC_COLLATE 和 LC_CTYPE 分别为 zh_CN.utf8 的数据库。 CREATE DATABASE my_db WITH ENCODING = 'UTF8' LC_COLLATE ='zh_CN.utf8' LC_CTYPE ='zh_CN.utf8' TEMPLATE = template0 ; 如果指定的LC_COLLATE与字符集不兼容,则会报如下错误信息。 指定的LC_COLLATE和LC_CTYPE必须与目标字符集兼容,参考▪查询字符集支持的LC_COLLATE和LC_C...查询出的字符集,否则会报错。 目前无法直接通过ALTER DATABASE命令修改已有数据库的LC_COLLATE和LC_CTYPE信息,但可以通过创建新的数据库,然后导出再导入数据的方式进行修改。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 concurrency_num Array of SlaReportsValue objects 并发数 count Array of SlaReportsValue objects 调用次数 duration Array of SlaReportsValue objects 平均时延,单位毫秒 fail_count Array of SlaReportsValue objects 错误次数 function_error_count Array of SlaReportsValue objects 函数错误次数 system_error_count Array of SlaReportsValue objects 系统错误次数 instance_num Array of SlaReportsValue objects 弹性实例数 max_duration Array of SlaReportsValue objects 最大时延,单位毫秒 min_duration Array of SlaReportsValue objects 最小时延,单位毫秒 reject_count Array of SlaReportsValue objects 被拒绝次数 reserved_instance_num Array of SlaReportsValue objects 预留实例数 表4 SlaReportsValue 参数 参数类型 描述 timestamp Integer 时间戳 value Double 值 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 ok { "concurrency_num" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 2 } ], "count" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "duration" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "fail_count" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "function_error_count" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "instance_num" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "max_duration" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "min_duration" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "reject_count" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "reserved_instance_num" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ], "system_error_count" : [ { "timestamp" : 1596679200000, "value" : -1 }, { "timestamp" : 1596682800000, "value" : 950 } ] }
  • URI GET /v2/{project_id}/fgs/functions/{func_urn}/slareports/{period} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 func_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 period 是 String 时间间隔(单位:min)
  • 请求示例 创建名为xxx的python2.7函数,内存大小为128MB,超时时间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" : "" } }
  • 响应示例 状态码: 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" : "1c8610d1870731a818a037f1d2adf3223e8ac351aeb293fb1f8eabd2e9820069a61ed8b5d38182e760adc33a307d0e957afc357f415cd8c9c3ff6f0426fd85cd", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } } 状态码: 400 Bad Request 请求错误。 { "error_code" : "FSS.0401", "error_msg" : "not permit" } 状态码: 401 Unauthorized 鉴权失败。 { "error_code" : "FSS.0401", "error_msg" : "not permit" } 状态码: 403 Forbidden 没有操作权限。 { "error_code" : "FSS.0401", "error_msg" : "not permit" }
  • 响应参数 状态码: 200 表10 响应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。 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 函数挂载配置。 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,在企业用户创建函数时必填。 enable_dynamic_memory Boolean 是否启动动态内存配置 is_stateful_function Boolean 是否支持有状态,如果需要支持,需要固定传参为true,v2版本支持 enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息 custom_image CustomImage object 用户容器镜像。 表11 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表12 MountConfig 参数 参数类型 描述 mount_user MountUser object 挂载用户信息。 func_mounts Array of FuncMount objects 函数挂载列表。 表13 MountUser 参数 参数类型 描述 user_id String 用户ID(-1~65534的非0整数) user_group_id String 用户组ID(-1~65534的非0整数) 表14 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非空时必选。 表15 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表16 CustomImage 参数 参数类型 描述 enabled Boolean 是否启用 image String 镜像地址 command String 启动容器镜像的命令 args String 启动容器镜像的命令行参数 working_dir String 镜像容器工作目录 uid String 镜像容器的用户id gid String 镜像容器的用户组id 状态码: 400 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 503 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 func_name 是 String 函数名称。 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,必须包含“. ”;自定义镜像函数handler为“-” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 depend_version_list 否 Array of strings 依赖版本id列表 func_vpc 否 FuncVpc object 函数vpc配置。 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。 code_type 是 String 函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值: inline zip obs jar Custom-Image-Swr code_url 否 String 当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 code_filename 否 String 函数的文件名,当CodeType为jar/zip时必须提供该字段,CodeType为其他值时不需要提供。 custom_image 否 CustomImage object 用户容器镜像,当CodeType为Custom-Image-Swr时必须提供该字段,CodeType为其他值时不需要提供。 user_data 否 String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 xrole 否 String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole 否 String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description 否 String 函数描述。 func_code 否 FuncCode object FuncCode结构返回体。 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,在企业用户创建函数时必填。 type 否 String 函数版本;部分局点只支持v1函数,缺省值则为v1 缺省值:v2 枚举值: v1 v2 log_config 否 FuncLogConfig object 函数绑定日志配置。 network_controller 否 NetworkControlConfig 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 CustomImage 参数 是否必选 参数类型 描述 enabled 否 Boolean 是否启用 image 否 String 镜像地址 command 否 String 启动容器镜像的命令 args 否 String 启动容器镜像的命令行参数 working_dir 否 String 镜像容器工作目录 uid 否 String 镜像容器的用户id gid 否 String 镜像容器的用户组id 表6 FuncCode 参数 是否必选 参数类型 描述 file 否 String 函数代码,如果不为空必须进行base64编码,为空时使用默认的代码。 link 否 String 函数代码链接。 表7 FuncLogConfig 参数 是否必选 参数类型 描述 group_name 否 String 函数绑定日志组名。 group_id 否 String 函数绑定日志组ID。 stream_name 否 String 函数绑定日志流名。 stream_id 否 String 函数绑定日志流ID。 表8 NetworkControlConfig 参数 是否必选 参数类型 描述 disable_public_network 否 Boolean 禁止公网访问开关。 trigger_access_vpcs 否 Array of VpcConfig objects 指定触发函数vpc配置。 表9 VpcConfig 参数 是否必选 参数类型 描述 vpc_name 否 String vpc名称。 vpc_id 否 String vpc ID。
  • 响应示例 状态码: 200 ok { "tags" : [ { "key" : "xxx", "value" : "yyy" } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "value" : "5aa119a8-d25b-45a7-8d1b-88e127885635" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of KvItem objects 标签列表 sys_tags Array of KvItem objects 系统标签列表 表4 KvItem 参数 参数类型 描述 key String 键 value String 值 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 修改名为fgsTest的Nodejs函数配置信息,将内存大小改为768MB,超时时间设为40s。 PUT https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/config { "func_name" : "fgsTest", "handler" : "index.handler", "memory_size" : 768, "runtime" : "Node.js6.10", "timeout" : 40 } 修改自定义运行时函数GPU配置,将GPU显存设置为1GB,内存大小设置为4GB。 PUT https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/config { "func_name" : "test_GPU", "handler" : "bootstrap", "memory_size" : 4096, "runtime" : "Custom", "timeout" : 40, "gpu_memory" : 1024 }
  • 响应示例 状态码: 200 OK { "func_id" : "0d075978-5a54-4ee1-8e24-ff5bd070xxxx", "resource_id" : "0d075978-5a54-4ee1-8e24-ff5bd070xxxx:test", "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", "ephemeral_storage" : 512, "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } }
  • 响应参数 状态码: 200 表12 响应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 函数挂载配置。 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 函数配置的需要支持域名解析的内网域名。 enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息 custom_image CustomImage object 用户容器镜像。 表13 FuncVpc 参数 参数类型 描述 vpc_name String 虚拟私有云名称。 vpc_id String 虚拟私有云唯一标识。 subnet_name String 子网名称。 subnet_id String 子网编号。 cidr String 子网掩码。 gateway String 网关。 security_groups Array of strings 安全组 表14 MountConfig 参数 参数类型 描述 mount_user MountUser object 挂载用户信息。 func_mounts Array of FuncMount objects 函数挂载列表。 表15 MountUser 参数 参数类型 描述 user_id String 用户ID(-1~65534的非0整数) user_group_id String 用户组ID(-1~65534的非0整数) 表16 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非空时必选。 表17 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表18 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时。 表19 CustomImage 参数 参数类型 描述 enabled Boolean 是否启用 image String 镜像地址 command String 启动容器镜像的命令 args String 启动容器镜像的命令行参数 working_dir String 镜像容器工作目录 uid String 镜像容器的用户id gid String 镜像容器的用户组id 状态码: 400 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表23 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表24 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 func_name 是 String 函数名称。 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。 user_data 否 String 用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 encrypted_user_data 否 String 用户自定义的name/value信息,用于需要加密的配置。 xrole 否 String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole 否 String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description 否 String 函数描述。 func_vpc 否 FuncVpc object 函数vpc配置。 mount_config 否 MountConfig object 函数挂载配置。 strategy_config 否 StrategyConfig object 函数策略配置。 custom_image 否 CustomImage 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秒。 ephemeral_storage 否 Integer 临时存储大小, 默认512M, 支持配置10G。 枚举值: 512 10240 enterprise_project_id 否 String 企业项目ID,在企业用户创建函数时必填。 log_config 否 FuncLogConfig object 函数绑定日志配置。 network_controller 否 NetworkControlConfig object 函数网络配置。 is_stateful_function 否 Boolean 是否支持有状态,如果需要支持,需要固定传参为true,v2版本支持 enable_dynamic_memory 否 Boolean 是否启动动态内存配置 enable_auth_in_header 否 Boolean 是否允许在请求头中添加鉴权信息 domain_names 否 String 内网域名配置。 restore_hook_handler 否 String 函数快照式冷启动Restore Hook入口,仅支持Java,规则:xx.xx,必须包含“. ”。如:com.xxx.demo.Test.restoreHook restore_hook_timeout 否 Integer 快照冷启动Restore Hook的超时时间,超时函数将被强行停止,范围1~300秒。 表3 FuncVpc 参数 是否必选 参数类型 描述 vpc_name 是 String 虚拟私有云名称。 vpc_id 是 String 虚拟私有云唯一标识。 subnet_name 是 String 子网名称。 subnet_id 是 String 子网编号。 cidr 是 String 子网掩码。 gateway 是 String 网关。 security_groups 否 Array of strings 安全组 表4 MountConfig 参数 是否必选 参数类型 描述 mount_user 是 MountUser object 挂载用户信息。 func_mounts 是 Array of FuncMount objects 函数挂载列表。 表5 MountUser 参数 是否必选 参数类型 描述 user_id 是 String 用户ID(-1~65534的非0整数) user_group_id 是 String 用户组ID(-1~65534的非0整数) 表6 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非空时必选。 表7 StrategyConfig 参数 是否必选 参数类型 描述 concurrency 是 Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num 是 Integer 单实例最大并发数,v2版本才支持,取值-1到1000 表8 CustomImage 参数 是否必选 参数类型 描述 enabled 否 Boolean 是否启用 image 否 String 镜像地址 command 否 String 启动容器镜像的命令 args 否 String 启动容器镜像的命令行参数 working_dir 否 String 镜像容器工作目录 uid 否 String 镜像容器的用户id gid 否 String 镜像容器的用户组id 表9 FuncLogConfig 参数 是否必选 参数类型 描述 group_name 否 String 函数绑定日志组名。 group_id 否 String 函数绑定日志组ID。 stream_name 否 String 函数绑定日志流名。 stream_id 否 String 函数绑定日志流ID。 表10 NetworkControlConfig 参数 是否必选 参数类型 描述 disable_public_network 否 Boolean 禁止公网访问开关。 trigger_access_vpcs 否 Array of VpcConfig objects 指定触发函数vpc配置。 表11 VpcConfig 参数 是否必选 参数类型 描述 vpc_name 否 String vpc名称。 vpc_id 否 String vpc ID。
  • 响应示例 状态码: 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 错误信息
共100000条