华为云用户手册

  • 获取分享Token 功能介绍 用于获取临时Token,使用该Token可访问文件,不用再使用“access-token”进行鉴权。获取的Token是临时性的,存在有效期。 URI POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/sharetoken 表1 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时,设置的连接器实例名称。 请求参数 表2 请求body参数 参数 是否必选 参数类型 描述 shareType 是 Integer 分享类型: 0:代表按文件分享。 1:代表按目录分享。 2:用字符数组表示多个文件路径。 key 否 String 分享的对象、目录。 如果是目录的话,必须以“/”结尾,表示是个目录。 keys 否 String 多个文件路径。 timeoutInMinutes 是 Integer 分享的有效期,单位为分钟。 取值范围:1~1440。即最短1分钟,最长24小时。 响应参数 表3 响应参数说明 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Object 返回结果对象。对象中包含“shareToken”字段,表示临时Token。 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”。调用如下请求,获取某些文件的临时访问Token。 POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/sharetoken { "shareType": 0, "key": "a/b/c/1.txt", "keys": [ "a/b/c/2.txt", "ROMAExchange.zip", "some/dir/c.jpg" ], "timeoutInMinutes": 60 } 使用者拿到URL后即可访问,所以要避免分享敏感文件。 响应示例 { "resCode": "0", "resMsg": "成功", "result": { "shareToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJz***tOejj6NEo" } } 请记录下“shareToken”的值,后续访问文件使用。
  • 查看分享对象文件 功能介绍 使用获取分享Token,返回的临时Token查看文件。 URI GET AstroZero域名/u-route/baas/sys/v1.1/objectstorage/viewshareobject?object=X&shareToken=Y 表4 路径参数 参数 是否必选 参数类型 描述 object 是 String 文件所在桶里的全路径,包含文件名。 shareToken 是 String 获取分享Token中,返回的临时Token。 请求参数 无 响应参数 只返回文件内容。 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”。调用如下请求,使用临时访问Token查看桶中的“a/b/c/1.txt”文件。 GET https://AstroZero域名/u-route/baas/sys/v1.1/objectstorage/viewshareobject?object=a/b/c/1.txt&shareToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaGFyZVR5cGUiOjAsInNoYXJlS2V5IjoiYS9iL2MvMS50eHQiLCJzaGFyZUtleXMiOlsiYS9iL2MvMi50eHQiLCJST01BRXhjaGFuZ2UuemlwIiwi5pyI5bqm5oC757uTLnR4dCJdLCJjb25uZWN0b3JUeXBlIjoib2JzIiwiY29ubmVjdG9yIjoiZ3pfX1Rlc3RPQlMiLCJzZXNzaW9uIjp7IlRlbmFudElEIjoiMDAwMDAwMDAwMGJaSFUzVjMxUXUiLCJVc2VySUQiOiIxMGdkMDAwMDAwYlpIVUFxN1BlYSIsIkxvY2FsZSI6eyJMYW5nIjoiemhfQ04ifX0sImV4cCI6MTYyOTc5MTA3Ny45Nzc5OH0.HQIMtULKsjTOgbtoSwOdqwX4W8FYgXTGTAtOejj6NEo 响应示例 test
  • 连接器 接口 说明 上传文件 将本地文件上传到存储中。使用该API上传文件,默认只会上传到连接器下配置的第一个桶中。 下载文件 从存储中下载文件。 删除文件 从存储中删除无用的文件。 删除目录 从存储中删除某目录。如果目录下不为空,删除目录的同时也会删除该目录下文件。 列举目录下文件 列举存储中某目录下文件。 分段上传 对于较大文件上传,可以切分成段上传。用户可以在如下的应用场景内(但不仅限于此),使用分段上传的模式: 上传超过100MB大小的文件。 网络条件较差,和OBS等存储服务端之间的链接经常断开。 上传前无法确定将要上传文件的大小。 获取endpoint,即文件存储地址的前缀 endpoint为文件存储地址的前缀,该前缀加上传对象的路径,是实际访问对象的全路径。上传文件中,返回的是上传文件在桶上的路径。通过调用本节接口,返回endpoint,组装起来才是文件完整的访问地址。 分享Token 通过调用获取分享Token,可以获取临时Token,用户只要使用该临时Token即可访问文件,不用再使用“access-token”进行鉴权。
  • BPM 接口 说明 启动BPM实例 创建并启动一个BPM实例。 查询BPM实例 获取当前账号所有的BPM实例信息。 挂起/恢复/终止BPM实例 挂起/恢复/终止一个BPM实例。BPM实例被挂起后,不会在用户的待办任务列表中出现,流程SLA定时器停止,也不会进行任何跟催。恢复后,可继续进行操作。终止操作则强行结束一个BPM实例,可在历史任务中查看。 删除BPM实例 删除一个BPM实例。彻底删除一个BPM实例,仅当管理员清除过期数据时可以删除,其他情况不建议删除BPM实例数据。 配置或修改BPM实例中变量的值 设置或修改BPM实例中变量的值, 一次可以修改一个、多个或者所有变量的值。不存在的变量或者只读变量会被忽略。
  • 元数据 接口 说明 创建对象 添加一个Object对象。 查询所有Object对象 查询所有Object对象。 按照object_id查询Object 按照ID查询Object。 根据object_id为Object添加字段 为object添加自定义字段。 根据object_id新增trigger 根据object_id新增trigger。 根据object_id新增校验validator 根据object_id新增校验validator。 根据object_id新增layout 按object_id新增layout。 创建Flow对象 添加一个flow对象。 查询Flow对象 获取匹配查询条件的flow列表。 按照flow_id查询/查询flow_id的入参出参信息 按flow_id查询Flow/查询flow_id的入参出参信息。 根据flow_id修改Flow对象 根据id修改flow对象。 按照flow_id删除flow 按flow_id删除Flow。 创建BPM对象 创建一个BPM对象。 按条件查询BPM对象 获取匹配查询条件的BPM列表。 按ID查询BPM对象 按bpm_id查询BPM对象。 根据ID修改BPM对象 根据id修改BPM对象。 按照ID删除BPM 按bpm_id删除BPM。 创建Picklist对象 创建一个Picklist对象。 查询选项列表值集 查询选项列表值集。 按ID增加选项列表值集的值 按picklist_id增加选项列表值集的值。 根据ID查询选项列表值集或引用该选项列表值集的对象字段列表 根据ID查询选项列表值集或引用该选项列表值集的对象字段列表。 根据ID修改选项列表值集的基本信息 根据id修改Picklist对象。 根据ID删除选项列表值集或选项列表值集的值 根据ID删除选项列表值集或选项列表值集的值。
  • 导入导出 接口 说明 导出数据 导出数据表中的具体数据。AstroZero中创建的对象,其内部的数据是支持导出的,该接口支持将对象中的数据按照设定的周期频率、筛选条件进行导出。 导入数据 导入数据。导入的数据源为zip包,包中的数据文件应为txt或csv格式,每个文件第一行为数据所属对象信息,第二行为字段名,第三行开始每一行为一条数据记录。 导出元数据 导出数据表的元数据,即将数据表的各个字段信息导出,但不包含具体的数据记录。 导入元数据 导入数据表的元数据。若已有数据表的元数据,可使用该功能快速根据元数据创建对象表。 使用模板导入数据 按照所使用的模板格式,导入数据。使用该功能前,需要创建好可使用的数据导入模板,在模板中定义数据的映射规则,调用接口时需指定模板名称,在该模板中,需要指定对应的操作脚本。
  • 数据模块 接口 说明 按记录ID查询数据 按记录ID查询数据。 按记录ID删除数据 按记录ID删除数据。 按记录ID更新数据 按记录ID更新数据。 按记录ID列表查询数据 按记录ID列表查询数据。 新增对象数据 新增对象数据。 按记录ID列表删除数据 按记录ID列表删除数据。 按条件更新数据 按条件更新数据。 按条件查询对象数据 按条件查询对象数据。 按条件删除对象数据 按条件删除对象数据。 按条件查询对象记录数 按条件查询对象记录数。 批量插入或修改对象数据 批量插入或修改对象数据,若数据包含id进行更新,若数据不含id进行插入。
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 label 是 String 服务编排的标签。 processType 是 String 服务编排的类型。 Autolaunched Flow:自启动服务编排,在接口调用后会立即执行服务编排模型定义的逻辑。 Event Trigger:事件触发的服务编排,则会在事件触发时才会开始执行服务编排模型定义的逻辑。当选择该类型时,您需要配置具体的事件以及条件规则。 startElement 否 String 服务编排的起始元素。 interviewLabel 否 String 服务编排实例的标签。 localUrl 否 String 本地url。 event 否 String 服务编排涉及的事件。 variables 否 Array 如果服务编排类型是Event Trigger,则可以填写绑定具体事件。 formulas 否 Array of objects 服务编排中定义的公式。 choices 否 Array of objects 服务编排中的选择判断。 structs 否 Array of objects 服务编排中定义绑定的结构体。 constants 否 Array of objects 常量。 structVariables 否 Array of objects 结构体变量。 objectVariables 否 Array of objects 对象变量。 screens 否 Array of objects 服务编排输入的显示界面。 localUrl 否 String 服务编排接口本地URL。 compilerVersion 否 String 最终版本。 catalogue 否 String 服务编排的分类。 private 否 String 是否私有。私有的服务编排不能通过Rest API或者自定义API(公共接口)进行调用。 true false
  • 请求参数 表1 请求参数 参数 是否必选 参数类型 描述 name 是 String BPM的名称。 label 是 String BPM的标签。 description 否 String BPM的描述文档。 version 否 String 版本号。 instanceLabel 否 String 实例标签,可以内嵌系统变量。 laneSet 否 object 泳道信息。 config 否 object 配置信息。 startEvents 否 Array of object 开始事件定义。 dataMappers 否 Array of object 数据映射定义。 userTasks 否 Array of object 用户任务定义。 serviceTasks 否 Array of object 自动任务定义。 businessRuleTasks 否 Array of object 决策表任务定义。 callActivities 否 Array of object 活动调用定义。 subProcesses 否 Array of object 内嵌子流程定义。 throwEvents 否 Array of object 抛出事件定义。 catchEvents 否 Array of object 捕捉事件定义。 exclusiveGateways 否 Array of object 排他网关定义。 parallelGateways 否 Array of object 并行网关定义。 eventGateways 否 Array of object 事件网关定义。 usingSLA 否 Array of object BPM引用的SLA。 slas 否 Array of object SLA定义。 constants 否 Array of object 常量定义。 variables 否 Array of object 变量定义。
  • 请求示例 创建BPM实例。 POST https://AstroZero域名/u-route/baas/bp/v2.0/metadata/definitions { "config": { "cancelable": false, "noCancelAfterElem": "" }, "dataMappers": [ { "assignmentItems": [ { "assignTo": "dateList", "name": "", "operator": "add", "value": "2019-03-04", "valueType": "" }, { "assignTo": "dateList", "name": "", "operator": "add", "value": "2020-01-02", "valueType": "" } ], "connector": "userTask", "connectorPoint": "{\"fromPort\":\"R1\",\"toPort\":\"L1\",\"points\":[\"619 125\",\"643 125\",\"662.5 125\",\"662.5 100\",\"682 100\",\"706 100\"]}", "description": "", "label": "Data Mapper", "locationX": 575, "locationY": 125, "name": "dataMapper", "connectors": [] } ], "description": "", "label": "SimpleBP", "laneSet": { "label": "", "lanes": [ { "elements": [ "userTask", "userTask1", "dataMapper", "start" ], "height": 201.35220031738282, "label": "lane", "name": "lane", "role": "LoanRequest.Applicant", "width": 1080 } ], "name": "" }, "name": "SimpleBP", "slas": [ { "active": true, "criteria": "", "deadlineDays": 0, "deadlineHours": 0, "deadlineIncreaseUrgencyBy": 2, "deadlineMinutes": 0, "deadlineOnlyBusinessDays": false, "goalActions": [ { "action": "", "criteria": "{!IsMatched} && {!Owner}", "name": "sla-act", "type": "Notify Manager" } ], "goalDays": 0, "goalHours": 0, "goalIncreaseUrgencyBy": 1, "goalMinutes": 0, "goalOnlyBusinessDays": false, "label": "userTask1_sla", "name": "userTask1_sla", "startWhen": "", "variable": "", "actions": [] }, { "active": true, "criteria": "", "deadlineDays": 0, "deadlineHours": 0, "deadlineIncreaseUrgencyBy": 2, "deadlineMinutes": 0, "deadlineOnlyBusinessDays": false, "goalActions": [ { "action": "NotifyBPManager", "criteria": "", "name": "sla-act1", "type": "Notify Manager" } ], "goalDays": 1, "goalHours": 0, "goalIncreaseUrgencyBy": 1, "goalMinutes": 0, "goalOnlyBusinessDays": false, "label": "userTask_sla", "name": "userTask_sla", "startWhen": "", "variable": "", "actions": [] } ], "startEvents": [ { "connector": "dataMapper", "connectorPoint": "{\"fromPort\":\"R1\",\"toPort\":\"L0\",\"points\":[\"151.5 100\",\"175.5 100\",\"341.25 100\",\"341.25 110.5\",\"507 110.5\",\"531 110.5\"]}", "label": "Start", "locationX": 125, "locationY": 100, "name": "start", "type": "Start", "startType": "", "renderType": "", "render": "", "document": "", "description": "" } ], "startStage": null, "startType": "", "status": "Warning", "status.name": "Warning", "userTasks": [ { "approvalType": "Single", "connector": "userTask1", "connectorPoint": "{\"fromPort\":\"R1\",\"toPort\":\"L1\",\"points\":[\"794 100\",\"818 100\",\"875 100\",\"875 100\",\"932 100\",\"956 100\"]}", "description": "wuli desc", "groupAsSingleParticipant": false, "inputAssignments": [ { "input": "$Task.Title", "name": "", "value": "{!$GlobalConstant.EmptyString}", "valueType": "" } ], "label": "User Task", "locationX": 750, "locationY": 100, "name": "userTask", "participants": [ { "type": "user", "value": "ecommerce6" } ], "preActions": [ { "action": "{!$GlobalConstant.EmptyString}", "criteria": "", "name": "action", "type": "Set Status" } ], "render": "SimpleBP$Form1$form", "renderType": "Form", "routeType": "Name and Expressions", "router": { "defaultRouteTo": "", "defaultRouteType": "", "name": "" }, "title": "wu li tu cao", "usingSLA": "userTask_sla", "routeTo": "", "faultConnector": "", "boundaryEvents": [], "outputAssignments": [], "document": "", "priority": 3 }, { "approvalType": "Single", "groupAsSingleParticipant": false, "label": "User Task", "locationX": 1000, "locationY": 100, "name": "userTask1", "priority": 3, "render": "SimpleBP$ut1$form", "renderType": "Form", "routeType": "Last Assignee In Lane", "router": { "defaultRouteTo": "", "defaultRouteType": "", "name": "" }, "title": "T2", "routeTo": "", "connector": "", "faultConnector": "", "boundaryEvents": [], "inputAssignments": [], "outputAssignments": [], "document": "", "description": "" } ], "variables": [ { "currencyFactor": 0, "dataType": "checkBox", "defaultValue": "{!$GlobalConstant.True}", "defaultValueType": "", "description": "", "extNS": "", "extType": "", "isCollection": false, "isInput": false, "isNested": false, "isOutput": false, "name": "IsMatched" }, { "currencyFactor": 0, "dataType": "text", "defaultValue": "Hello", "defaultValueType": "", "description": "", "extNS": "", "extType": "", "isCollection": false, "isInput": false, "isNested": false, "isOutput": false, "name": "Owner" }, { "currencyFactor": 0, "dataType": "date", "defaultValue": "", "defaultValueType": "", "description": "", "extNS": "", "extType": "", "isCollection": false, "isInput": false, "isNested": false, "isOutput": false, "name": "dateVar" }, { "currencyFactor": 0, "dataType": "date", "defaultValue": "", "defaultValueType": "", "description": "", "extNS": "", "extType": "", "isCollection": true, "isInput": false, "isNested": false, "isOutput": false, "name": "dateList" }, { "currencyFactor": 0, "dataType": "extStruct", "defaultValue": "", "defaultValueType": "", "description": "", "extNS": "SimpleBP", "extType": "Form1Form", "isCollection": false, "isInput": false, "isNested": false, "isOutput": false, "name": "Form1Form" } ], "version": "1.0.1", "webSite": null, "constants": [], "serviceTasks": [], "businessRuleTasks": [], "callActivities": [], "subProcesses": [], "endEvents": [], "sendEvents": [], "throwEvents": [], "catchEvents": [], "exclusiveGateways": [], "parallelGateways": [], "eventGateways": [], "usingSLA": "" }
  • 请求示例 创建Object对象实例。 POST https://AstroZero域名/u-route/baas/metadata/v1.0/Object { "label": "VehicleType", "name": "VehicleType__ CS T", "description": "", "fields": [ { "label": "Name", "name": "name", "dataType": "Name" } ], "view": { "ObjectDetailLayout": { "name": "__layout__VehicleType__CST__detail", "fields": [ "name" ] }, "ObjectRecordsLayout": { "name": "__layout__VehicleType__CST__records", "fields": [ "name" ] } } }
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 创建表对象时的名字,一旦创建不可修改。 label 否 String 对象的别名,可以修改。 description 否 String 对象的描述信息。 fields 是 Array of field object 对象的字段列表。 view 是 Object of layout object 是一个对象,其中包含ObjectDetailLayout对象和ObjectRecordsLayout对象。 表2 fields字段参数 参数 是否必选 参数类型 描述 label 是 String 字段标签。 name 是 String 字段名。 dataType 是 String 字段类型。
  • 权限管理 在AstroZero中,可以通过设置权限配置Profile,来配置用户权限。系统预置了如下几种Profile,禁止删除: System Administrator Profile:系统管理员,拥有AstroZero全部权限。 Developer Profile:开发者权限,一般给用户使用,拥有此权限的用户可以在AstroZero进行开发,例如新增一个对象、为对象增加一个字段、新增一个流程等。 Portal User Profile:业务用户的权限,一般给业务用户使用,拥有此权限的业务用户可以通过服务编排鉴权登录AstroZero。 Anonymous User Profile:游客用户的访问权限,请根据自身业务需求,给Profile分配适当的权限。 Standard User Profile:运行态权限,开通AstroZero服务时自带的权限,拥有这个权限可以运行系统中的流程、对系统已有对象进行记录的增删改查操作,但没有开发权限,如新增一个对象或新增一个流程等。 NoCode Developer Profile:零代码应用开发权限,只有运行环境才会预置该权限。 NoCode Manager Profile:零代码应用数据管理权限,只有运行环境才会预置该权限。 一个Profile可以分配给很多用户,但是每个用户有且只有一个Profile。Profile能够控制权限列表如下,具体Profile权限配置请参考管理权限配置。 基本权限控制 基本权限是指操作AstroZero内置的资源时,在接口上设置权限校验,当前Profile需要勾选上对应的权限项才能通过访问,否则会报权限错误,对应状态码“403”。例如,创建对象需要开发应用权限,创建用户需要管理用户权限等。 App与Menu展示控制 控制用户在打开应用时,默认展示的应用及展示应用下的哪个菜单项。仅在前端做页面控制。 对象、字段权限控制 用户在访问具体对象字段数据记录时的权限控制。其中,对象权限包括: 读取: 读取对象记录的权限,没有此权限访问对象数据时会报无权限。 创建: 创建对象记录的权限。 编辑:修改对象记录数据的权限。 删除:删除对象记录的权限。 查看全部: 能够查看该对象的所有记录,不管该记录是否属于操作者(OWNER)。 修改全部:能够增删改对象的所有记录,不管该记录是否属于操作者(OWNER)。 API读: 通过HTTP接口发起读取操作,不影响在服务编排、脚本等发起的操作。 API写:通过HTTP接口发起写操作,不影响在服务编排、脚本等发起的操作。 某些特殊的对象不允许直接访问,如User对象,所有Profile只开放读取功能,增删改都要通过接口来操作。字段权限如下: 读: 读取某个字段值的权限 写:修改某个字段值的权限 某些对象的某些字段不允许直接读取与修改,如User对象的密码字段等。 对象标准页面的展示控制 展示对象的默认布局,包括列表页,详情页,创建与编辑布局。 仅供页面展示使用。 接口访问控制(服务编排、脚本、BPM) 在运行服务编排、脚本或BPM资源时需要检查是否拥有该资源的运行权限,如果没有则报错。例如,需要运行脚本“view_product” ,则需要勾选上“view_product” 的运行权限才能运行。 连接器访问控制 目前只向对外提供HTTP接口的连接器进行权限控制,包括S3、OBS、MINIO、ObjectStorageProxy类型连接器。 在运行这些连接器的接口时,需要检查其运行权限。 事件访问控制 目前只向对外提供HTTP接口的事件进行权限控制,例如发送某种类型事件的权限。 业务权限访问控制 是否拥有指定的业务权限。
  • 请求示例 创建Picklist对象实例。 POST https://AstroZero域名/u-route/baas/metadata/v1.0/Picklist { "name": "CNAME1__testName", "picklistValues": [ { "label": "A", "value": "A" }, { "label": "B", "value": "B" }, { "label": "C", "value": "C" } ], "masterLabel": "Label for pick list ABC" }
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 选项列表值集名称。 注意: 若环境中设置了命名空间,请在名称中加上前缀“命名空间__”。 masterLabel 是 String 选项列表值集的标签。 description 否 String 选项列表值集的描述。 useFirstAsDefault 否 String 是否使用第一个值作为默认值。 picklistValues 否 Array 添加一个或多个选项列表值,取值中禁止出现分号“;”。
  • URI GET AstroZero域名/u-route/baas/v1.0/flow/{action} 表1 参数说明 参数 是否必选 描述 action 是 需要查询的服务编排状态或者根据id查询服务编排信息,其中各个状态取值及其含义如下: activeFlow:正在执行的服务编排。 suspendedFlow:延时的服务编排。 terminatedFlow:被终止的服务编排。 completedFlow:正常完成的服务编排。 instanceId:根据id查询服务编排信息,请求时该参数需替换为具体的服务编排运行实例ID。 owner 否 所属账号ID。 creater 否 创建者ID。 fields 否 字符串数组,为需要查询的字段,不传则默认。 orderField 否 用于排序的字段,需要在fields中。 orderType 否 排序方式,0代表Asc升序,1代表Desc降序。 limit 否 数据条数限制。 offset 否 数据起始位置。
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": { "createdBy": "10gd000000QwWjXspAOW", "createdBy.__objectType": "User", "createdBy.name": "bingo", "createdDate": "2021-05-19 11:41:30", "curElement": "isMasterAccountByIdentityId", "description": "", "endTime": "", "id": "002N000000jrOCerKZBQ", "label": "isMasterAccount 2021-05-19 11:41:30", "lastHandler": null, "lastModifiedBy": "10gd000000QwWjXspAOW", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "bingo", "lastModifiedDate": "2021-05-19 11:41:30", "name": "CP_DS__isMasterAccountForOperator", "owner": "10gd000000QwWjXspAOW", "owner.__objectType": "User", "owner.name": "bingo", "rootID": "", "runMode": 2, "startTime": "2021-05-19 11:41:30", "state": "Broken", "suspended": false, "type": "Flow", "type.name": "Flow", "version": "1.0.1" } }
  • 响应示例 可以看到返回的报文中,BPM实例的suspended字段被置为了true。 { "resCode":"0", "resMsg":"Success", "result":{ "name":"SimpleBP", "version":"1.0.1", "id":"002N000000Q3QW4IMAOO", "processDefID":"001L000000Peuw1Q318a", "interviewLabel":"SimpleBP 2019-05-10 15:14:09", "nextElem":"", "isTest":true, "state":"New", "bpStatus":"New", "urgency":0, "taskOutcome":"", "businessKey":"002N000000Q3QW4IMAOO", "startTime":"2019-05-10 15:14:09", "endTime":"", "Ext1":"", "Ext2":"", "Ext3":"", "Ext4":"", "Ext5":"", "Ext6":"", "Ext7":0, "Ext8":0, "suspended":true, "isClosed":false } }
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 action 是 String 代表对BPM实例操作的动作名。 suspend:挂起。 resume:恢复。 terminate:终止。 restart:重启。 cancel:撤销。 rollBackPreviousTask:打回任务,即管理员或当前任务处理人将流程回退到上一步任务。 revokePreviousTask:撤回任务,即任务提交人撤回已提交审批的任务,任务重新回到待审批。
  • 请求示例 示例1 如下请求创建了一个仅执行一次的数据导出任务,执行时间为2020-05-31 00:00:00,导出的文件格式为csv,编码格式为utf-8,需要导出的对象通过名为“myTemplate”的模板指定,未指定任何导出筛选条件。 POST https://AstroZero域名/u-route/baas/bulk/v1.0/export/data?flag=template&file_type=csv { "scheduleMode": 1, "firstScheduleDate": "2020-05-31 00:00:00", "encodeType": "utf-8", "templateName": "myTemplate" } 示例2 如下请求创建了周期性执行的数据导出任务,首次执行时间为2020-06-01 00:00:00,往后每隔一个月执行一次,导出的文件格式为txt,编码格式为GBK,需要导出的对象以数组的形式列在objects中,同时设定筛选条件,仅导出创建者id(createBy)为“1234567890xyz”的数据。 POST https://AstroZero域名/u-route/baas/bulk/v1.0/export/data?flag=template&file_type=txt { "scheduleMode": 2, "firstScheduleDate": "2020-06-01 00:00:00", "scheduleInterval": 1, "intervalUnit": "Month", "templateName": "template01", "encodeType": "gbk", "objects": [ "Flow", "Page" ], "cond": { "conjunction": "AND", "conditions": [ { "field": "createdBy", "operator": "eq", "value": "1234567890xyz" } ] } }
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 cond 否 cond objects 导出筛选条件,为一个结构体,包含conditions和conjunction两个字段。 encode-type 是 String 数据导出文件的编码格式,支持utf-8和gbk两种类型。 firstScheduleDate 否 String 首次导出时间,格式为“yyyy-MM-dd HH:mm:ss” scheduleMode=2时,必选。 scheduleMode=1时,与isImmediate互斥。 objects 否 Array of Strings 需要导出的对象,为一字符串数组,数组中每个字符串为一个对象名,可同时导出多个对象数据,也可通过templateName参数指定模板选择导出的数据。 scheduleMode 是 Number 导出模式。 1:仅执行一次。 2:按设定的频率执行多次。 scheduleInterval 否 Number “scheduleMode=2”时必选,导出任务执行间隔。 intervalUnit 否 Number “scheduleMode=2”时必选,导出任务执行间隔对应的单位。 Hour:小时 Day:天 Month:月 isImmediate 否 Boolean 是否立即导出,“scheduleMode=1”时可选,“scheduleMode=1”时与firstScheduleDate互斥。 templateName 否 String 模板名称,数据导出使用的模板名称,也可通过objects参数直接指定希望导出的对象。 表3 cond参数说明 参数 参数类型 描述 conditions Array of condition objects 条件数组,数组中每项作为一个条件。 conjunction String conditions数组中各个条件的组合方式。 AND:与 OR:或 表4 条件参数condition说明 参数 是否必选 描述 field 是 筛选条件字段。 createDate:创建时间 createBy:创建者id lastModifiedDate:最后编辑时间 lastModifiedBy:最后编辑者id operator 是 筛选运算操作。 gt:大于 ge:大于等于 eq:等于 ne:不等于 lt:小于 le:小于等于 timeFunc:时间函数 需要指出的是,只有时间类型的筛选字段支持所有操作,其他类型的字段仅支持eq/ne(等于或不等于)。 value 是 进行比较的具体值,当operator为timeFunc时,支持以下函数: today:今天 yesterday:昨天 last week:上周 last month:上月 last year:去年 this week:本周 this month:本月 this year:今年 若比较的字段为时间类型,则此处使用的时间字符串应为“yyyy-MM-dd HH:mm:ss”格式。
  • URI POST AstroZero域名/u-route/baas/v1.0/flow/{action}/{name_or_id} 表1 参数说明 参数 是否必选 描述 action 是 需要对服务编排执行的操作,各个操作取值及其含义如下: start:启动服务编排,系统标准启动操作。 run:开始执行服务编排,自定义启动操作。 next:执行服务编排的下一步。 back:执行服务编排的上一步。 finish:结束运行的服务编排,即正常完成服务编排。 terminate:终止运行的服务编排实例和相关资源。 del:删除服务编排实例和相关资源。 name_or_id 是 当action取值为start或run时,需为服务编排名称。其他操作需为服务编排的运行实例ID,可通过调用查看服务编排运行实例接口查看(响应消息中的“id”)。
  • 响应参数 表2 响应参数 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Object 在成功请求时,会有内容返回。内部包含interviewId和outputs两个字段,result字段的说明请参见表3。 表3 result字段说明 参数 参数类型 描述 interviewId String 服务编排的运行实例ID。流程启动成功后,可以从返回结果中获取到运行实例ID。 outputs Any 结果,服务编排的执行输出,由服务编排输出决定,可为任意取值。
  • 请求示例 开始运行服务编排,例如调用start命令执行了服务编排“testFlowXyz”,传入参数为自定义的参数。 POST https://AstroZero域名/u-route/baas/v1.0/flow/start/testFlowXyz { "paramA": "valueA", "paramB": { "subParamBA": [ "A", "B" ], "subParamBB": "BB" } }
  • 请求示例 查询“TestProject__testForObject1__CST”对象中,name为“lisi”的记录数。 POST https://AstroZero域名/u-route/baas/data/v1.0/count/TestProject__testForObject1__CST { "condition": { "conjunction": "AND", "conditions": [ { "field": "NAME", "operator": "eq", "value": "lisi" } ] } }
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 condition 是 Object 表示查询的条件,其中包含以下三个元素,若为空则表示查询所有对象数据。 conjunction:表示需要满足的条件个数。 AND:表示条件都要满足。 OR:表示至少要满足一个条件。 conditions:筛选条件的数组。如果参数为空,代表查询所有对象数据,若不为空,其中的每一个元素对象都包含三个字段: field:类型string,字段名称。 operator:类型string,操作符。例如,操作符“eq”表示等于,“ne”表示不等于,“gt”表示大于,“lt”表示小于,“ge”表示大于等于,“le”表示小于等于。 value:类型string,对比值。 relation:数组中包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。 其中,parents包含condition数组和relatedField(关联字段名称)。children包含condition数组和relationName(关联字段名称)。 condition数组包含: conjunction:取值为AND或OR。 conditions:同上conditions参数。 relation:同上relation参数。
  • 响应示例 { "resCode":"0", "resMsg":"Success", "result":[ { "bpStage":"Stage 1", "bpStatus":"begin", "bpStep":"Transfer 1", "businessKey":"BK001", "createdBy":"10gd0000003T2E10UTfk", "createdBy.__objectType":"User", "createdBy.name":"ecommerce", "createdDate":"2018-08-13 16:21:17", "curElement":"", "description":"Transfer 1", "endTime":"2018-08-17 14:40:09", "id":"002N000000IpNGFfNvm4", "label":"TestFSM2 2018-08-13 16:21:17", "lastHandler":null, "lastModifiedBy":"10gd0000003T2E10UTfk", "lastModifiedBy.__objectType":"User", "lastModifiedBy.name":"ecommerce", "lastModifiedDate":"2018-08-17 14:40:09", "name":"TestFSM2", "owner":"10gd0000003T2E10UTfk", "owner.__objectType":"User", "owner.name":"ecommerce", "startTime":"2018-08-13 16:21:17", "state":"Completed OK", "suspended":false, "title":"Hello, this is a title", "type":"BP", "urgency":0, "version":"0.0.1" } ] }
  • URI GET AstroZero域名/u-route/baas/bp/v2.0/runtime/instances?states=X 表1 路径参数 参数 是否必选 描述 states 是 BPM实例状态,取值如下: New Running Waiting for user interaction Waiting for page event Completed OK Paused Broken Suspended User Terminated Terminated Dispatched CompletedOkWait
  • URI POST AstroZero域名/u-route/baas/bulk/v1.0/import/data?filename={filename}&flag={hasid}&comment=X 表1 路径参数 参数 是否必选 描述 filename 是 上传的文件名称,此处文件名对应的文件数据上传时应转为二进制流的形式传输。 flag 是 当前支持的flag。 hasid:导入的源数据中,已存在ID值。 noid:导入的源数据中,没有ID值。 comment 是 是否对zip文件进行完整性校验。 true:校验文件的完整性。 false:不校验文件的完整性。
  • 背景信息 开发者账号也可称为用户,其信息存储在AstroZero的标准对象User中。在AstroZero中,可以通过如下两种方式添加开发者账号: 添加 IAM 开发者:添加的IAM开发者账号,必须是从华为云IAM同步过来的。 添加 WeLink 开发者:将WeLink用户添加到AstroZero中,作为开发者账号,详情请参见添加WeLink用户为开发者账号。 本章节以添加IAM开发者为例,向您介绍如何在AstroZero中添加开发者账号。
共100000条