华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 invocations Array of ListFunctionAsyncInvocationsResult objects 异步调用记录列表。 count Integer 查询数据总条数 next_marker Integer 查询下一页的起始位置 表5 ListFunctionAsyncInvocationsResult 参数 参数类型 描述 request_id String 异步调用请求ID status String 异步调用状态,支持5种状态 WAIT: 等待 RUNNING: 执行中 SUC CES S: 执行成功 FAIL: 执行失败 DISCARD: 请求丢弃 枚举值: WAIT RUNNING SUCCESS FAIL DISCARD error_message String 异步调用错误信息,如果执行成功,则返回空 error_code Integer 异步调用错误码,如果执行成功,则返回0 start_time String 异步调用开始时间(格式为YYYY-MM-DD'T'HH:mm:ss,UTC时间)。 end_time String 异步调用结束时间(格式为YYYY-MM-DD'T'HH:mm:ss,UTC时间)。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • URI GET /v2/{project_id}/fgs/functions/{function_urn}/async-invocations 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 表2 Query参数 参数 是否必选 参数类型 描述 request_id 否 String 需要查询的异步请求ID。如果不指定,默认查询所有异步调用记录 最小长度:0 最大长度:64 marker 否 String 本次查询起始位置,默认值0 缺省值:0 最小长度:0 最大长度:64 limit 否 String 本次查询最大返回的数据条数,最大值500,默认值100 缺省值:100 最小长度:0 最大长度:64 status 否 String 本次查询指定的异步调用状态,支持5种状态,如果不指定,则查询所有状态的调用记录 WAIT: 等待 RUNNING: 执行中 SUCCESS: 执行成功 FAIL: 执行失败 DISCARD: 请求丢弃 最小长度:0 最大长度:64 query_begin_time 否 String 搜索起始时间(格式为YYYY-MM-DD'T'HH:mm:ss,UTC时间)。如果不指定默认为当前时间前1小时 query_end_time 否 String 搜索结束时间(格式为YYYY-MM-DD'T'HH:mm:ss,UTC时间)。如果不指定默认为当前时间
  • URI GET /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
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 测试事件ID。 name String 测试事件名称。 content String 测试事件content。 last_modified Number 上次修改的时间。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 注册OpenTelemetry API http://${EXTENSION_API_ADDR}/telemetry 您可以通过 EXTENSION_API_ADDR 环境变量得到平台开放的提供注册的API地址,例如对于Python,EXTENSION_API_ADDR的获取方式为os.getenv("EXTENSION_API_ADDR ")。 路径 - /telemetry 方法 – POST 主体参数 { "subscriber": { "protocol": "POST", "uri": "http://127.0.0.1:{PORT}" }, "types": ["platform", "function", "extension"], } 请求体中必须包括上述JSON字段。 protocol为请求类型,限制为POST。 uri为扩展进程中遥测侦听器URI,用于接收FunctionGraph发送的遥测数据,其中PORT可选8081~8090。 Types为您希望扩展订阅的事件类型的信息,可选platform、function、extension。 响应代码 200 - 订阅请求成功 400 - 请求错误,并返回错误信息 500 - 服务错误 父主题: 概述
  • 如何通过扩展完成SkyWalking的对接 通过以下对接SkyWalking的示例帮助您理解如何通过扩展API将函数与监控、可观察性、安全性和监管等工具集成。 当用已编译的语言实现扩展时,在本地编译生成二进制文件;使用非编译的语言实现扩展时,需要把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。 将skywalking agent直接嵌入到扩展代码中,即可通过扩展完成对函数请求的监控。 示例代码:skywalking-go.zip func startSkywalkingAgent() { r, err := reporter.NewGRPCReporter("10.174.242.117:11800", reporter.WithCDS(100)) if err != nil { log.Fatalf("new reporter error %v \n", err) return } defer r.Close() tracer, err := go2sky.NewTracer("testservice", go2sky.WithReporter(r)) if err != nil { log.Fatalf("create tracer error %v \n", err) return } go2sky.SetGlobalTracer(tracer) sm, err := httpPlugin.NewServerMiddleware(go2sky.GetGlobalTracer()) if err != nil { log.Fatalf("create server middleware error %v \n", err) return } http.HandleFunc(invokeURL, sm(RequestHandler{}).ServeHTTP) http.ListenAndServe(currentExtensionAddr, nil) } 其中10.174.242.117:11800 用户可以根据自己部署的是sykwalking collector的地址即可,testservice 用户可以根据自己项目服务进行命名。 在本地编译生成二进制文件,将二进制文件和以extension为前缀的.sh文件类型的脚本文件打包上传依赖。扩展依赖包的文件结构如下: extension - extensionDemo.sh Extension # 编译后的二进制文件 成功对接后Service界面如下: Endpoint界面如下: 父主题: 扩展API
  • 响应参数 状态码: 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 错误信息
  • 步骤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.example.example.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.example.example.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 OK { "trigger_id" : "9a14fae1-78cf-4185-ac7a-429eb6dc41fb", "trigger_type_code" : "TIMER", "trigger_status" : "ACTIVE", "event_data" : { "name" : "Timer-cpg3", "schedule" : "3m", "schedule_type" : "Rate" }, "last_updated_time" : "2022-11-09 16:37:24", "created_time" : "2019-10-29171553" }
  • URI GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 trigger_type_code 是 String 触发器类型代码。(当前OBS触发器暂不支持中国站。) 枚举值: TIMER CTS DDS DMS DIS LTS OBS SMN KAFKA RABBITMQ DEDICATEDGATEWAY OPENSOURCEKAFKA APIC GeminiDB Mongo EVENTGRID IOTDA trigger_id 是 String 触发器编码。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 trigger_id String 触发器ID。 trigger_type_code String 触发器类型。(当前OBS触发器暂不支持中国站。) TIMER: "定时触发器。" APIG: "APIG触发器。" CTS: " 云审计 服务触发器。" DDS: "文档数据库服务触发器。" DMS: "分布式服务触发器。" DIS: " 数据接入服务 触发器。" LTS: " 云日志 服务触发器。" OBS: "对象存储触发器。" SMN: " 消息通知 服务触发器。" KAFKA: "专享版消息通知服务触发器。" 枚举值: TIMER CTS DDS DMS DIS LTS OBS SMN KAFKA RABBITMQ DEDICATEDGATEWAY OPENSOURCEKAFKA APIC GeminiDB Mongo EVENTGRID IOTDA trigger_status String "触发器状态" ACTIVE: 启用状态。 DISABLED: 禁用状态。 枚举值: ACTIVE DISABLED event_data TriggerEventDataResponseBody object 触发器源事件。 last_updated_time String 最后更新时间。 created_time String 触发器创建时间。 表4 TriggerEventDataResponseBody 参数 参数类型 描述 name String 触发器名称 schedule_type String 定时触发类型(TIMER触发器参数)。 Rate:指定固定频率(分钟、小时、天数)定期调用函数,单位为分钟时,输入值不能超过60;单位为小时时,输入值不能超过24;单位为天时,输入值不能超过30。 Cron:指定Cron表达式定期调用函数 枚举值: Rate Cron schedule String 定时触发规则(TIMER触发器参数)。 触发类型为Rate时对应定时规则 触发类型为Cron时对应Cron表达式 user_event String 附加信息(TIMER触发器参数)。 当Timer触发器触发函数执行时,执行事件(函数的event参数)为: {"version": "v1.0", "time": "2018-06-01T08:30:00+08:00", "trigger_type": "TIMER", "trigger_name": "Timer_001", "user_event": "您输入的附加信息"} triggerid String APIG触发器id。(APIG触发器参数) type Integer API接口类型(APIG触发器参数)。 1:公有API 2:私有API path String APIG接口PATH路径(APIG触发器参数)。 protocol String API的请求协议(APIG触发器参数)。 枚举值: HTTP HTTPS req_method String API的请求方式(APIG触发器参数)。 枚举值: GET POST PUT DELETE HEAD PATCH OPTIONS ANY group_id String API所属的分组编号(APIG触发器参数)。 group_name String API所属的分组名称(APIG触发器参数)。 match_mode String API的匹配方式(APIG触发器参数)。 SWA:前缀匹配 NORMAL:正常匹配(绝对匹配) 枚举值: SWA NORMAL env_name String API的发布环境(APIG触发器参数)。 env_id String API的发布环境id(APIG触发器参数)。 api_id String API编号(APIG触发器参数)。 api_name String API名称(APIG触发器参数)。 auth String API的认证方式(APIG触发器参数)。 IAM :IAM认证,只允许IAM用户能访问,安全级别中等 APP:采用Appkey&Appsecret认证,安全级别高,推荐使用 NONE:无认证模式,所有用户均可访问,不推荐使用 枚举值: IAM APP NONE invoke_url String API调用地址(APIG触发器参数)。 func_info ApigTriggerFuncInfo object APIG触发器 函数工作流 后端详情(APIG触发器参数)。APIG触发器此参数必填。 sl_domain String APIG系统默认分配的子 域名 (APIG触发器参数)。 最小长度:1 最大长度:255 backend_type String API的后端类型(APIG触发器参数)。 枚举值: FUNCTION instance_id String 实例id。DDS、KAFKA、RABBITMQ触发器此参数必填。 APIG触发器:apig实例id DDS触发器:文档数据库实例id KAFKA触发器:KAFKA实例id RABBITMQ触发器:RABBITMQ实例id roma_app_id String API归属的集成应用编号。(APIG触发器参数) operations Array of strings 自定义操作(CTS触发器参数)。 CTS云审计服务类型和操作订阅所需要的事件通知,当CTS云审计服务获取已订阅的操作记录后,通过CTS触发器将采集到的操作记录作为参数传递来调用FunctionGraph函数。 collection_name String 集合名称(DDS触发器参数)。 db_name String 文档数据库名称(DDS触发器参数)。 db_password String 文档数据库密码(DDS触发器参数)。 db_user String 文档数据库用户名(DDS触发器参数)。 instance_addrs Array of strings 文档数据库实例地址(DDS触发器参数)。 mode String 文档数据库实例类型(DDS触发器参数)。 Sharding:集群实例 ReplicaSet:副本集实例 Single:单节点实例 batch_size Integer 批处理大小,单次函数执行处理的最大数据量。DIS、DDS、KAFKA、RABBITMQ触发器此参数必填。 DDS触发器:批处理大小设置1-10,000的范围内 DIS触发器:批处理大小设置1-10,000的范围内 KAFKA触发器:批处理大小设置1-1,000的范围内 RABBITMQ触发器:批处理大小设置1-1,000的范围内 queue_id String 队列id(DMS触发器参数)。 consumer_group_id String 消费组id(DMS触发器参数)。 polling_interval Integer 拉取周期。 stream_name String 通道名称(DIS触发器参数)。 sharditerator_type String 起始位置(DIS触发器参数)。 TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。 LATEST:从分区中的最新记录开始读取,此设置可以保证总是读到分区中最新记录。 枚举值: TRIM_HORIZON LATEST polling_unit String 拉取周期单位(DIS触发器参数)。 s:秒 ms:毫秒 枚举值: s ms max_fetch_bytes Integer 最大提取字节数(DIS触发器参数)。 最小值:0 最大值:4194304 is_serial String 串行处理数据(DIS触发器参数),如果开启该选项,取一次数据处理完之后才会取下一次数据;否则只要拉取周期到了就会取数据进行处理。 枚举值: true false log_group_id String 日志组id(LTS触发器参数)。 log_topic_id String 日志流id(LTS触发器参数)。 bucket String 桶名称(OBS触发器参数),用作事件源的OBS存储桶,不能和本用户已有桶重名;不能和其他用户已有的桶重名;创建成功后不支持修改。 最小长度:1 最大长度:64 prefix String 前缀(OBS触发器参数),输入一个可选性前缀来限制对以此关键字开头的对象的通知。 最小长度:0 最大长度:1024 suffix String 后缀(OBS触发器参数),输入一个可选性后缀来限制对以此关键字结尾的对象的通知 最小长度:0 最大长度:1024 events Array of strings 触发事件(OBS触发器参数)。 ObjectCreated:表示所有创建对象的操作,包含Put、Post、Copy对象以及合并段 Put:使用Put方法上传对象 Post:使用Post方法上传对象 Copy:使用copy方法复制对象 CompleteMultipartUpload:表示合并分段任务 ObjectRemoved:表示删除对象 Delete:指定对象版本号删除对象 DeleteMarkerCreated:不指定对象版本号删除对象 topic_urn String 主题URN(SMN触发器参数)。 最小长度:1 最大长度:255 topic_ids Array of strings KAFKA主题id列表(KAFKA触发器参数)。 kafka_user String KAFKA账户名(KAFKA触发器参数)。 kafka_password String KAFKA账户密码(KAFKA触发器参数)。 kafka_connect_address String KAFKA实例连接IP地址(KAFKA触发器参数)。 kafka_ssl_enable Boolean KAFKA连接是否开启安全认证(KAFKA触发器参数)。 access_password String RABBITMQ账户密码(RABBITMQ触发器参数)。 access_user String RABBITMQ账户名(RABBITMQ触发器参数)。 connect_address String 实例连接IP地址(RABBITMQ触发器参数)。 exchange_name String 交换机名称(RABBITMQ触发器参数)。 vhost String 虚拟机名称(RABBITMQ触发器参数)。 ssl_enable Boolean RABBITMQ连接是否开启安全认证(RABBITMQ触发器参数)。 Key_encode Boolean EG obs触发器是否对对象加密(EVENTGRID触发器参数)。 agency String 使用的代理(EVENTGRID触发器参数)。 channel_name String 通道名称(EVENTGRID触发器参数)。 channel_id String 通道id(EVENTGRID触发器参数)。 source_name String 事件源名称(EVENTGRID触发器参数)。 created_time String 创建时间(EVENTGRID触发器参数)。 status String 触发器状态(EVENTGRID触发器参数)。 枚举值: ACTIVE DISABLE trigger_name String 触发器名称(EVENTGRID触发器参数)。 event_types Array of strings 事件类型(EVENTGRID触发器参数)。例如:OBS:DWR:ObjectCreated:COPY。 表5 ApigTriggerFuncInfo 参数 参数类型 描述 function_urn String 函数的URN,详细解释见FunctionGraph函数模型的描述。 invocation_type String 调用函数执行方式。 sync:同步执行 async:异步执行 枚举值: sync async timeout Integer API网关请求函数服务的超时时间(毫秒)。APIG触发器此参数必填。 最小值:1 最大值:60000 version String 函数版本信息。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 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 错误信息
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中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表示错误描述信息。
  • 基本概念 账号 您注册公有云服务时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用其进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 公有云区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。
  • 如何在扩展中使用OpenTelemetry API 遥测是一种特殊的扩展,扩展进程中必须完成以下工作才能成功启用遥测功能: 在使用OpenTelemetry API之前,需要先注册拓展,具体内容可参考扩展API使用。 在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry API的请求。 创建一个httpServer遥测侦听器,接收FunctionGraph发送的遥测数据。用户可以对此数据进行任何自定义处理。 最多只能创建一个遥测扩展,遥测的端口限制和扩展的端口限制一致,127.0.0.1:8081 ~ 127.0.0.1:8090 。 遥测扩展示例:Telemetry.zip 父主题: 概述
  • 响应示例 状态码: 200 OK [ { "name" : "a1", "version" : "latest", "description" : "", "last_modified" : "2019-10-31 11:37:58", "alias_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbxxxx:function:default:xxxxx:!a1", "additional_version_weights" : { "v1" : 10 } } ]
  • API概览 FunctionGraph API为开发者、合作伙伴提供开发、部署、托管、运维的开放接口,帮助用户快速、低成本地实现业务创新,缩短应用上线周期。 FunctionGraph API提供的接口有如下几种类型。 表1 接口简介 类型 说明 函数调用 包括同步执行函数、异步执行函数、函数异步执行并返回预留实例ID接口。 函数配额 查询租户配额。 函数依赖包 包括创建、删除、获取、更新依赖包等接口。 函数测试事件 包括创建、删除、获取、更新测试事件等接口。 函数调用链 获取、修改调用链配置。 函数生命周期管理 包括创建、删除函数等接口。 函数版本别名 包括创建、删除函数版本别名等接口。 函数指标 包括获取按指定指标排序的函数列表、租户函数统计信息、获取指定时间段的函数运行指标接口。 函数日志 获取指定函数的lts日志组日志流配置、开通lts日志上报功能。 函数预留实例 获取函数预留实例配置列表、修改函数预留实例数量。 函数导入导出 导入、导出函数。 函数触发器 包括创建、删除、更新触发器等接口。 函数流 查询、删除、创建、停止函数流等接口。 函数异步配置 获取、删除、设置函数异步配置信息等接口。 函数应用中心 包括查询、创建、删除应用程序等接口。
  • 修订记录 表1 修订记录 发布日期 修订记录 2022-11-21 新增接口内容如下: 分页查询指定函数流记录 2022-11-14 新增接口内容如下: 创建依赖包版本 获取依赖包版本列表 获取依赖包版本详情 删除依赖包版本 获取按指定指标排序的函数列表 获取函数预留实例配置列表 获取函数预留实例数量 修改接口内容如下: 下线“函数异步执行并返回预留实例ID” 2022-09-07 新增错误码: FSS.4208 新增接口内容如下: 修改函数预留实例数量 2022-07-29 新增错误码: FSS.1206 新增接口内容如下: 函数异步执行并返回预留实例ID 更新函数最大实例数 设置函数异步配置信息 停止函数异步调用请求 2022-04-29 新增接口内容如下: 同步执行函数流 2022-04-02 新增接口内容如下: 异步执行工作流 删除函数流 查询函数流 创建函数流 获取指定函数流执行实例列表 获取指定函数流执行实例 获取指定函数流实例的元数据 修改指定函数流实例的元数据 获取函数流指标 获取指定函数流指标 重试函数流 停止函数流 2022-01-21 接口修改内容如下: 函数管理域 新增获取函数异步调用请求列表接口。 新增修改函数调用链配置接口。 新增获取函数调用链配置接口。 2020-08-29 修改内容如下: 新增获取依赖包列表接口。 新增创建依赖包接口。 新增删除指定的依赖包接口。 新增获取指定依赖包接口。 新增更新指定依赖包接口。 新增获取指定函数的测试事件列表接口。 新增创建测试事件接口。 新增删除指定测试事件接口。 新增获取测试事件详细信息接口。 新增更新测试事件详细信息接口。 新增查询租户配额接口。 新增获取指定时间段的函数运行指标接口。 新增租户函数统计信息接口。 新增更新触发器接口。 2020-06-16 新增 API Explorer 跳转链接。 2020-03-30 删除工作流的API接口。 2019-05-27 按照V3.0版本模板调整API参考,不涉及接口变化。 2018-11-16 函数实现与 云监控服务 的对接, 新增FunctionGraph监控指标说明。 2018-8-29 函数新增禁用功能,相关内容修改。 2018-8-20 支持的运行时新增Node.js 8.10,增加相关内容。 触发器类型新增LTS、CTS,增加相关内容。 2018-6-30 增加FunctionGraph函数相关的API接口。 2018-5-15 修改文档结构。 2018-02-28 第一次正式发布。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tracing_ak String apm的ak tracing_sk String apm的sk 状态码: 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 { "tracing_ak" : "xxx", "tracing_sk" : "******" } 状态码: 403 FORBIDDEN { "error_code" : "FSS.0403", "error_msg" : "invalid token" } 状态码: 404 Not Found { "error_code" : "FSS.0404", "error_msg" : "can not find tracing aksk" } 状态码: 500 内部错误 { "error_code" : "FSS.0500", "error_msg" : "xxx" }
  • 响应示例 状态码: 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 OK { "workflow_id" : "48aff955-ea10-4ffd-b426-190bc192dc14", "workflow_urn" : "urn:fss:cn-north-7:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow:latest", "execution_id" : "48aff955-ea10-4ffd-b426-190bc192dc14", "status" : "running", "headers" : { "tenantId" : "user1" }, "input" : { "arg1" : "argument_1", "arg2" : "argument_2" }, "output" : { "arg1" : "argument_1", "arg2" : "argument_2" }, "begin_time" : "2021-01-01T00:00:00Z", "end_time" : "2021-01-01T00:00:00Z", "last_update_time" : "2021-01-01T00:00:00Z", "created_by" : "admin", "node_execution_details" : [ { "node_id" : "48aff955-ea10-4ffd-b426-190bc192dc14", "node_name" : "string", "execution_id" : "string", "executions" : [ { "status" : "running", "input" : { "arg1" : "argument_1", "arg2" : "argument_2" }, "output" : { "arg1" : "argument_1", "arg2" : "argument_2" }, "begin_time" : 1605119892050, "end_time" : 1605119892050, "error_message" : { "detail:\"Execution failed\"" : null }, "request_id" : "string" } ] } ] }
  • URI GET /v2/{project_id}/fgs/workflows/{workflow_id}/executions/{execution_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:1 最大长度:64 workflow_id 是 String 函数工作流ID 最小长度:1 最大长度:512 execution_id 是 String 函数流执行实例ID 最小长度:1 最大长度:64
  • 响应示例 状态码: 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, "user_data" : "{\"host\":\"192.168.0.1\"}", "mount_config" : { "mount_user" : { "user_id" : -1, "user_group_id" : -1 }, "func_mounts" : [ { "mount_resource" : "268xxx-d3xx-4cxx-98xx-d1dbxxx", "local_mount_path" : "/mnt", "mount_type" : "sfsTurbo" } ] }, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "ephemeral_storage" : 512, "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25 15:37:27", "strategy_config" : { "concurrency" : 0 } }
  • 请求示例 修改名为fgsTest的Nodejs函数配置信息,将内存大小改为768MB,超时时间设为40s,添加环境变量host,添加磁盘挂载。 PUT https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/config { "func_name" : "fgsTest", "handler" : "index.handler", "memory_size" : 768, "user_data" : "{\"host\":\"192.168.0.1\"}", "runtime" : "Node.js6.10", "mount_config" : { "mount_user" : { "user_id" : -1, "user_group_id" : -1 }, "func_mounts" : [ { "mount_resource" : "268xxx-d3xx-4cxx-98xx-d1dbxxx", "local_mount_path" : "/mnt", "mount_type" : "sfsTurbo" } ] }, "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 { "tags" : [ { "key" : "xxx", "values" : [ "yyy", "zzz" ] } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ] } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of TagItem objects 标签列表 sys_tags Array of TagItem objects 系统标签列表 表4 TagItem 参数 参数类型 描述 key String 键 values Array of strings 值 状态码: 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 错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 reservedinstances Array of FuncReservedInstance objects 函数预留实例列表 page_info PageInfo object count Long 函数个数 表5 FuncReservedInstance 参数 参数类型 描述 func_urn String 函数urn count Long 预留实例数目 表6 PageInfo 参数 参数类型 描述 next_marker Long 下一次读取位置 previous_marker Long 上一次读取位置 current_count Long 当前页总数 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "reservedinstances" : [ { "func_urn" : "urn:fss:xxxxx:46b6f338fc3445b8846c71dfb1fbxxxx:function:csharp:test2-0:latest", "count" : 2 } ], "page_info" : { "next_marker" : 2, "previous_marker" : 0, "current_count" : 2 } }
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全