华为云用户手册

  • 响应示例 状态码: 200 函数流查询返回体 { "total" : 1, "size" : 1, "workflows" : [ { "id" : "48aff955-ea10-4ffd-b426-190bc192dc14", "workflow_urn" : "urn:fss:cn-north-7:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow:latest", "name" : "test-flow", "description" : "desc", "created_time" : "2021-01-01T00:00:00Z", "updated_time" : "2021-01-01T00:00:00Z", "created_by" : "admin" } ]}
  • URI GET /v2/{project_id}/fgs/workflows 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 workflow_name 否 String 函数流名称 最小长度:0 最大长度:64 limit 否 Integer 分页查询,每页显示的条目数量,默认值为200 limit大于200时,按照200处理 最小值:1 offset 否 Integer 分页查询,分页的偏移量,默认值为0 offset小于0时,按照0处理 最小值:0 enterprise_project 否 String 企业项目ID mode 否 String 函数流模式 "NORMAL"标准函数流 "EXPRESS"快速函数流
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 success Array of strings 成功流程URN列表 fail Array of OperateErrorInfo objects 错误流程详情 表4 OperateErrorInfo 参数 参数类型 描述 workflow_urn String 唯一标识ID,流程URN 最小长度:1 最大长度:128 error_detail String 错误详情 最小长度:1 最大长度:64 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512 request_id String 请求ID 最小长度:2 最大长度:512 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512 request_id String 请求ID 最小长度:2 最大长度:512
  • 请求示例 删除函数流。 DELETE /v2/{project_id}/fgs/workflows{ "workflow_urns" : [ "urn:fss:{region}:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow1:latest", "urn:fss:{region}:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow2:latest" ]}
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 图2 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 FunctionGraph API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 X-Project-ID:子项目ID,可选,在多项目场景中使用。 X-Domain-ID:帐号ID。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,可以从地区和终端节点中获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token额作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 获取帐号、IAM用户、项目的名称和ID 从控制台获取帐号名、帐号ID、用户名、用户ID、项目名称、项目ID 在调用接口时,部分URI中需要填入用户名、用户ID、账号名、账号ID、项目名称、项目ID,在“我的凭证”页面可以获取这些信息。 登录华为云管理控制台。 单击用户名,在下拉列表中单击“我的凭证”。 在“我的凭证”页面的项目列表中查看帐号名、帐号ID、用户名、用户ID、项目名称、项目ID。 图1 查看帐号名、帐号ID、用户名、用户ID、项目名称、项目ID 调用API获取用户ID、项目ID 获取用户ID请参考:管理员查询IAM用户列表。 获取项目ID请参考:查询指定条件下的项目列表。
  • 步骤4:创建Timer触发器,实现定时下载文件 URI:POST /v2/{project_id}/fgs/triggers/{function_urn} API文档详情请参见:创建触发器 请求示例 POST https://{Endpoint}/v2/{project_id}/fgs/triggers/{function_urn}{ "event_data": { "name": "Timer-download", "schedule_type": "Rate", "schedule": "1d" }, "event_type_code": "MessageCreated", "trigger_status": "ACTIVE", "trigger_type_code": "TIMER"} function_urn为步骤1:创建下载文件的函数中记录的函数URN。 上述请求示例表示每天从OBS桶中下载文件。 响应示例 { "trigger_id": "461bbe95-c85b-4dc9-a306-9701e77f1d66", "trigger_type_code": "TIMER", "trigger_status": "ACTIVE", "event_data": { "name": "Timer-download", "schedule": "1d", "schedule_type": "Rate" }, "last_updated_time": "2020-06-04T10:33:30+08:00", "created_time": "2020-06-04T10:33:30+08:00"}
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "XXXXXXXX", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": "FGS.0111", "error_msg": "xxxxxxxxx"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 步骤3:确认函数能够成功从OBS桶中下载文件 URI:POST /v2/{project_id}/fgs/functions/{function_urn}/invocations API文档详情请参见:同步执行函数 请求示例 POST https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/invocations{ "message": "download file"} function_urn为步骤1:创建下载文件的函数中记录的函数URN。 响应示例 "The object downloaded successfully from OBS, and the size is 14 KB"
  • 步骤2:修改函数配置信息中的OBS地址、OBS桶名和文件名 URI:PUT /v2/{project_id}/fgs/functions/{function_urn}/config API文档详情请参见:修改函数的metadata信息 请求示例 PUT https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/config{ "func_name": "download_file_from_obs", "handler": "index.handler", "memory_size": 256, "runtime": "Python2.7", "timeout": 30, "user_data": "{\"obs_address\":\"obs.xxx.xxx.com\",\"srcBucket\":\" xxx\",\"srcObjName\":\"xxx\"}", "xrole": "xxx"} function_urn为步骤1:创建下载文件的函数中记录的函数URN,obs_address为OBS地址,srcBucket为OBS桶名,srcObjName为文件名,xrole为委托名。 响应示例 { "func_urn": "urn:fss:{project_name}:{project_id}:function:default:download_file_from_obs:latest", "func_name": "download_file_from_obs", "domain_id": "89fexxxd636", "namespace": "{project_id}", "project_name": "xxx", "package": "default", "runtime": "Python2.7", "timeout": 30, "handler": "index.handler", "memory_size": 256, "cpu": 400, "code_type": "inline", "code_filename": "index.zip", "code_size": 1707, "user_data": "{\"obs_address\":\"obs.xxx.xxx.com\",\"srcBucket\":\"xxx\",\"srcObjName\":\"xxx\"}", "digest": "68891a6778848a78bd37a8c0798c91d75a5c87aee6e901303047a52edf05bf2170aac4149d79b3f6a40efe78406a83bf6d8683e7b25da4f0c07e7493aa4ccdcd", "version": "latest", "image_name": "latest-200603165355@varrp", "xrole": "xxx", "app_xrole": "xxx", "last_modified": "2020-06-03T17:25:03+08:00", "strategy_config": { "concurrency": -1 }, "StrategyConfig": {}, "enterprise_project_id": "0"}
  • 步骤1:创建下载文件的函数 URI:POST /v2/{project_id}/fgs/functions API文档详情请参见:创建函数 请求示例 POST https://{Endpoint}/v2/{project_id}/fgs/functions{ "code_filename": "index.zip", "code_type": "inline", "func_code": { "file": "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" }, "func_name": "download_file_from_obs", "handler": "index.handler", "memory_size": 256, "package": "default", "runtime": "Python2.7", "timeout": 30} 响应示例 { "func_urn": "urn:fss:{project_name}:{project_id}:function:default:download_file_from_obs:latest", "func_name": "download_file_from_obs", "domain_id": "89fexxxd636", "namespace": "{project_id}", "project_name": "xxx", "package": "default", "runtime": "Python2.7", "timeout": 30, "handler": "index.handler", "memory_size": 256, "cpu": 400, "code_type": "inline", "code_filename": "index.zip", "code_size": 1707, "digest": "68891a6778848a78bd37a8c0798c91d75a5c87aee6e901303047a52edf05bf2170aac4149d79b3f6a40efe78406a83bf6d8683e7b25da4f0c07e7493aa4ccdcd", "version": "latest", "image_name": "latest-200603162219@zr2ym", "last_modified": "2020-06-03T16:22:19+08:00", "strategy_config": { "concurrency": -1 }, "StrategyConfig": {}, "enterprise_project_id": "0"} 记录函数的URN,即响应示例中的“func_urn”信息。
  • 步骤1:创建函数工程 编写打印helloworld的代码。 打开文本编辑器,编写helloworld函数,代码如下,文件命名为“helloworld.py”,保存文件。 def printhello(): print 'Hello world!' 定义FunctionGraph函数。 打开文本编辑器,定义函数,代码如下,文件命名为“index.py”,保存文件(与“helloworld.py”保存在同一文件夹下)。 import json import helloworld def handler (event, context): output =json.dumps(event) helloworld.printhello() return output
  • 步骤3:调用创建函数API,使用OBS链接创建函数 URI:POST /v2/{project_id}/fgs/functions API文档详情请参见:创建函数 请求示例 POST https://{Endpoint}/v2/{project_id}/fgs/functions{ "code_type": "obs", "code_url": "https://test.obs.xxx.xxx.com/fss_examples_python2.7.zip", "func_name": "create_function_from_obs", "handler": "index.handler", "memory_size": 256, "package": "default", "runtime": "Python2.7", "timeout": 30} “code_url”为2中记录的OBS链接。 响应示例 { "func_urn": "urn:fss:{project_name}:{project_id}:function:default:create_function_from_obs:latest", "func_name": "create_function_from_obs", "domain_id": "0503xxxa960", "namespace": "{project_id}", "project_name": "xxx", "package": "default", "runtime": "Python2.7", "timeout": 30, "handler": "index.handler", "memory_size": 256, "cpu": 400, "code_type": "obs", "code_url": "https://test.obs.xxx.xxx.com/fss_examples_python2.7.zip", "code_filename": "fss_examples_python2.7.zip", "code_size": 436, "digest": "3af770ada27514564b1a20d964cba4b35f432fa40f9fc4f4f7c1f0d2f42eac6cb4db1358c195235966b05f66b4664e7bf31c3f384a9066b3d1fcc3e96b4c3f65", "version": "latest", "image_name": "latest-200619100734@gjf4p", "last_modified": "2020-06-19T10:07:34+08:00", "strategy_config": { "concurrency": -1 }, "StrategyConfig": {}, "enterprise_project_id": "0"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 依赖包版本ID。 owner String 依赖包拥有者。 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 依赖包唯一标志。 size Long 依赖包大小。 name String 依赖包名。 description String 依赖包描述。 file_name 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 错误信息 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 503 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 创建依赖包使用zip方式。 POST https://{Endpoint}/v2/{project_id}/fgs/dependencies{ "depend_file" : "xxx", "depend_type" : "zip", "runtime" : "Node.js8.10", "name" : "xxx"} 创建依赖包使用obs方式。 POST https://{Endpoint}/v2/{project_id}/fgs/dependencies{ "depend_link" : "https://{bucket}.{obs_endpoint}/depends/****/4f4ae4eb-dcdc-4dd3-bffd-79600bd972b3.zip", "depend_type" : "obs", "runtime" : "Node.js8.10", "name" : "xxx"}
  • 响应示例 状态码: 200 ok { "id" : "4f4ae4eb-dcdc-4dd3-bffd-79600bd972b3", "owner" : "*****", "link" : "https://{bucket}.{obs_endpoint}/depends/****/4f4ae4eb-dcdc-4dd3-bffd-79600bd972b3.zip", "runtime" : "Python3.6", "etag" : "83863be4b6c3a86aef995dbc83aae68f", "size" : 577118, "name" : "python-kafka", "description" : "python支持kafka操作的库", "file_name" : "python-kafka.zip"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 depend_file 否 String depend_type为zip类型时必填,为文件流格式,需要base64编码zip文件。 depend_link 否 String depend_type为obs类型时,依赖包在obs的存储地址。 depend_type 是 String 导入类型,目前支持obs和zip。 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 name 是 String 依赖包名称。必须以大、小写字母开头,以字母或数字结尾,只能由字母、数字、下划线、点和中划线组成,长度不超过96个字符。 description 否 String 依赖包描述,不超过512个字符。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 dependencies Array of ListDependenciesResult objects 依赖包列表 next_marker Long 下次读取位置 count Long 依赖包总数 表5 ListDependenciesResult 参数 参数类型 描述 id String 依赖包ID owner String 依赖包拥有者,public标识为公共依赖包 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 依赖包唯一标志 size Long 依赖包大小 name String 依赖包名 file_name String 依赖包文件名 description String 依赖包描述。 version Long 依赖包版本号 last_modified Long 依赖包更新时间 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 ok { "dependencies" : [ { "id" : "6578de50-9a18-48fa-b84e-b2d36636e433", "owner" : "public", "link" : "https://{obs_endpoint}/functionstage-examples/fg_test_pandas_1.1.3.zip", "runtime" : "Python3.6", "etag" : "35a893d9495b3e22259b2773996bc94d-6", "size" : 31009808, "name" : "panda1.1.3" } ], "next_marker" : 43, "count" : 43}
  • URI GET /v2/{project_id}/fgs/dependencies 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一次查询依赖包的最后记录位置,默认为"0"。 maxitems 否 String 单次查询最大条数 ispublic 否 String 是否为公共依赖包 dependency_type 否 String 依赖包类型public:公开,private:私有,all:全部。缺省时查询全量 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函数。 name 否 String 依赖包名称。 limit 否 String 本次查询可获取的依赖包的最大数目,默认为"400"。
  • 响应示例 状态码: 200 ok { "dependencies" : [ { "id" : "6578de50-9a18-48fa-b84e-b2d36636e433", "owner" : "public", "link" : "https://{obs_endpoint}/functionstage-examples/fg_test_pandas_1.1.3.zip", "runtime" : "Python3.6", "etag" : "35a893d9495b3e22259b2773996bc94d-6", "size" : 31009808, "name" : "panda1.1.3" } ], "next_marker" : 43, "count" : 43}
  • URI GET /v2/{project_id}/fgs/dependencies/{depend_id}/version 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 depend_id 是 String 依赖包的ID。 表2 Query参数 参数 是否必选 参数类型 描述 marker 否 String 上一次查询依赖包的最后记录位置,默认为"0"。 maxitems 否 String 单次查询最大条数
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 dependencies Array of ListDependenciesResult objects 依赖包列表 next_marker Long 下次读取位置 count Long 依赖包总数 表5 ListDependenciesResult 参数 参数类型 描述 id String 依赖包ID owner String 依赖包拥有者,public标识为公共依赖包 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 依赖包唯一标志 size Long 依赖包大小 name String 依赖包名 file_name String 依赖包文件名 description String 依赖包描述。 version Long 依赖包版本号 last_modified Long 依赖包更新时间 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应参数 状态码: 401 表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 错误信息
  • URI GET /v2/{project_id}/fgs/function/report 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 type 否 String 指标类型,默认值为failcount。 start_time 否 String 起始时间。 end_time 否 String 结束时间。 limit 否 String 指标类型,默认值为failcount。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 values Array of FunctionMetric objects 函数Urn及其指标数 next_marker Long 下次读取位置 count Long 返回函数总数 表5 FunctionMetric 参数 参数类型 描述 key String 函数urn value Integer 指标值 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 Ok { "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194xxxxxxxxxx:function:default:test:latest", "max_async_event_age_in_seconds" : 60, "max_async_retry_attempts" : 1, "destination_config" : { "on_success" : { "destination" : "FunctionGraph", "param" : "{\"func_urn\":\"urn:fss:{region}:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}" }, "on_failure" : { "destination" : "FunctionGraph", "param" : "{\"func_urn\":\"urn:fss:{region}:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}" } }, "created_time" : "2021-03-04T14:50:02+08:00", "last_modified" : "2021-03-04 14:50:02"}
共100000条