华为云用户手册

  • 表单类 获取当前表单 API:context.$component.form 如果当前组件为表单,则直接返回。否则,根据组件上下文向上查找最近的表单组件。 根据组件Key值获取表单 API:context.getFormByKey(_formKey: number) 入参:表单组件的Key值,类型为number。 校验整个表单 API:_form.formValidate() _form为已获取的表单组件,返回promise。 API:_form. formValidateUnPromise 非promise,返回true/false。 表单的单字段校验: API:_form.validateField(prop, callback) 参数prop为需校验的属性,参数callback为检验完回调函数,返回错误信息。 示例: _form.validateField("name",function(errorMsg){ console.log("validate field", errorMsg) }); 表单重置 API:_form.resetFields() _form为已获取的表单组件。 表单提交 API:_form.formSave() _form为已获取的表单组件。API内部实现已先进行表单校验,校验成功后进行提交保存操作。
  • 表格类 获取当前表格 API:context.$component.table 如果当前组件为表格,则直接返回。如果当前组件有关联的表格,则返回对应的表格(如表格查询条件、分页等)。否则,根据组件上下文向上查找最近的表格组件。 获取查询条件 API:_table.getCondition() _table为已获取的表格组件,返回表格绑定的查询条件。 设置查询条件 API: // 先获取条件,再进行赋值var condition = _table.getCondition();// 字段满足单个条件,默认操作是containscondition.queryInfo = {"fieldName": "1"}// 字段满足单个条件,使用自定义操作condition.queryInfo = {"fieldName": {operator: "contains",value: "1"}}// 字段满足多个条件condition.queryInfo = {"fieldName": [{operator: "contains",value: "1"},{operator: "contains",value: "2"}]}// 分页条件condition.pageInfo: {"pageSize": 10,"curPage": 1} 其中,“_table”为已获取的表格组件。 入参:表格查询条件。 执行查询 API:_table.doQuery() 其中,“_table”为已获取的表格组件。 初始化行数据 API:_table.rowInit() 其中,“_table”为已获取的表格组件,初始化一条新的行数据,此方法执行后,数据并未添加到表格。 添加行数据 API:_table.addrow(newRowData: object) 其中,“_table”为已获取的表格组件,此方法将初始化好的行数据添加到表格,此方法执行后,数据仅在前端表格保存,并未持久化到后端。 入参:行数据。 获取表格当前选中的行数据 API: _table.getSelectedData() 其中,“_table”为已获取的表格组件。 删除表格行数据 API:_table.doDelete(rows: array) 其中,“_table”为已获取的表格组件。 入参:表格行数据列表。 示例: // 当前表格let _table = context.$component.table// 获取当前选中的行let rows = _table.getSelectedData()// 删除选中行_table.doDelete(rows) 获取表格修改的数据(新增、修改、删除) API:_table.getOperatedData() 其中,“_table”为已获取的表格组件。 保存表格数据 API:_table.doSave(operatedData: object) 其中,“_table”为已获取的表格组件,此方法将当前表格做的修改操作进行持久化操作。 入参:修改的表格数据。 示例: // 当前表格let _table = context.$component.table// 获取修改的数据let operatedData = _table.getOperatedData()// 提交表格修改_table.doSave(operatedData)
  • 组件类 获取当前组件 context.$component.current 根据KEY获取组件 API:context.$component.get(_compKey: number) 入参:组件KEY,类型为number。 出参:Component。 示例如下: let _compKey = 1546395654403000let _component = context.$component.get(_compKey) 根据名称获取组件 API:context.$component.get(_compName: string) 示例如下: let _compName = 'input_1'let _component = context.$component.get(_compName) 获取组件绑定的模型 API:_component.getDataModel() _component为当前操作的组件。 示例如下: let _component = context.$component.currentlet _model = _component.getDataModel()
  • 页面类 获取当前页面 API:context.$page.current 当前页面绑定的数据模型 API:context.$page.getModel() 页面URL参数 API:context.$page.params.paramName 示例: // 假设当前页面URL为:https://localhost:8080/besBaas/page#/std_1?a=1&b=2, 则获取URL参数方式如下:let paramA = context.$page.params.alet paramB = context.$page.params.b 在新的导航条打开页面 API:context.$page.open(url: string, queryString: string) 入参:url表示页面地址。queryString表示查询参数(URL参数),格式为“key=value”,多个参数用“&”符号连接。 示例: context.$page.open('https://localhost:8080/besBaas/page#/std_2', 'a=1&b=2') 在当前导航条打开页面 API:context.$page.load(url: string, queryString: string) 刷新当前页面 API:context.$page.reload() 在新的导航条打开标准页面 API:context.$page.openStdPage(pageName: string, queryString: string) 入参:pageName表示页面名称。queryString表示查询参数(URL参数),格式为“key=value”,多个参数用“&”符号连接。 示例: context.$page.openStdPage('std_2', 'a=1&b=2') 在当前导航条打开标准页面 API:context.$page.loadStdPage(pageName: string, queryString: string) 在新的导航条打开高级页面 API:context.$page.openAdvPage(pageName: string, websiteName:string, queryString: string) 入参:pageName表示页面名称。websiteName表示为高级页面的站点名称,queryString表示查询参数(URL参数),格式为“key=value”,多个参数用“&”符号连接。 在当前导航条打开高级页面 API:context.$page. loadAdvPage (pageName: string, websiteName:string, queryString: string) 关闭当前页面 API:window.close() 图2 关闭页面语句
  • 响应消息体(可选) 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于使用OAuth 2.0的客户端鉴权模式,获取的用户access_token接口,返回如下消息体。其中,“access_token”是需要获取的用户Token,取值以变量“XXX”表示。有了Token之后,您可以使用access_token认证调用其他API。 { "access_token": "XXX", "expires_in": 600, "token_type": "Bearer"} 当接口调用出错时,会返回错误码“400”及错误信息说明,错误响应的Body体格式如下所示。 { "error": "unauthorized_client", "error_description": "The client is not authorized to request a token using this method."} 其中,error表示错误提示,error_description表示错误描述信息。
  • 响应参数 表3 响应参数说明 参数 参数类型 描述 code String 返回码,如果返回“200”代表请求成功,其他错误码说明请参考错误码。 msg String 返回消息,如果成功状态,通常会返回“成功”,其他情况会返回具体的错误信息。 data UpgradeProgressDto 可变实体更新进度。 表4 UpgradeProgressDto参数说明 参数 参数类型 描述 upgradeId String 更新ID status Integer 更新状态码。 0:训练中 1:训练失败 2:发布中 3:发布失败 4:更新完成 comment String 更新状态描述。
  • URI GET {URI-scheme}://{Endpoint}/backend/v1/flexible-entity/progress/{upgrade_id} 表1 路径参数 参数 是否必选 参数类型 描述 URI-scheme 是 String 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 是 String 承载REST服务端点的服务器域名或IP,不同服务在不同区域,Endpoint不同。 upgrade_id 是 String 更新ID,通过一键更新动态实体接口获取。
  • 脚本中预置的API AstroZero平台的脚本引擎采用TypeScript语言。脚本执行时,TypeScript语言会被翻译成JavaScript语言,由JavaScript引擎执行。 在JavaScript es5的官方标准库外,AstroZero还扩展了10+预置标准库(即预置API),帮助您更高效地开发脚本,标准库说明如表1所示。有关预置标准库的详细说明,请参考脚本标准库。 库的使用方法举例: import * as http from 'http'; 表1 标准库说明 标准库名称 说明 sys 提供系统层面的操作,例如获取系统参数值、提供alarm脚本库在脚本里埋点上报告警。 context 脚本执行的上下文,例如获取当前租户ID、获取当前登录用户ID等。 action 定义脚本的输入输出方法,以及调用脚本的方法。 buffer 操作二进制缓存区,例如将缓冲区内容转换为字符串。 setup 对系统对象Standard Object的增、删、改、查。 db 对自定义对象Customer Object的增、删、改、查。 sql 执行sql语句,目前只支持执行select查询语句。 bo 对Business Object的增、删、改、查。 meta 操作object的元数据,例如获取字段名称、获取字段长度。 http http或者https操作。 iconv 将字符串转为GBK、GB18030、GB2132或ISO8859_1编码格式,或者解码字符串。 crypto 加密操作,包含对哈希、HMAC、加密、解密、签名及验证的封装。 decimal 将从http请求或从数据库中查询出来的number类型值,转换成Decimal类型,并能进行加、减、乘、除等数学运算。 excel 操作Excel文件,例如生成Excel文件。 text 操作文本,例如将文本转换为二进制。 xml 操作XML文件,例如读取XML文件内容。 uuid 生成全局唯一标识。
  • 终端节点 终端节点即调用API的请求地址,AstroZero当前仅支持在华北-北京四的环境使用,AstroZero服务的终端节点开发态默认域名为“appcube.cn-north-4.huaweicloud.com”。 本文档所有示例和描述中,使用的AstroZero服务开发环境域名,均以“appcube.cn-north-4.huaweicloud.com”为例。实际使用过程中,请以业务的实际情况为准。 父主题: 使用前必读
  • 概述 Astro轻应用(Astro Zero,简称AstroZero)是零代码和低代码应用开发平台,源于华为应用开发和数字化转型的实践,提供了云上无码化、低码化、支持多码化的应用开发模式,屏蔽了技术的复杂性,提升了企业开发的效率。同时提供应用资产的开发标准和微服务框架,助力企业不断沉淀可复制的套件,加速应用的定制,并通过开放的生态,实现套件资产的商业变现。通过AstroZero提供的界面、逻辑、对象等可视化编排工具,以“拖、拉、拽”的方式来快速构建应用,从而实现所见即所得的快速应用开发和构建。 您可以使用本文提供的API,在AstroZero上对数据、元数据、访问控制、脚本、服务编排等进行相关操作,如运行服务编排、终止(删除)服务编排实例等,支持的全部操作可参见API概览。 在调用Astro轻应用API前,请确保已充分了解Astro轻应用相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": [ { "controlField": null, "createdBy": "testUserId", "createdBy.__objectType": "User", "createdBy.name": "test0xx", "createdDate": "2019-08-05 20:38:24", "custom": true, "description": "", "id": "testListId", "installedPackage": null, "isGlobal": true, "isRestricted": false, "isSorted": false, "lastModifiedBy": "testUserId", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test0xx", "lastModifiedDate": "2019-08-05 20:38:24", "masterLabel": "testLabel", "name": "testName", "owner": "testUserId", "owner.__objectType": "User", "owner.name": "test0xx", "protectMode": 0 } ]}
  • 请求参数 表1 请求参数 参数 是否必选 参数类型 描述 flag 否 String 查询选项列表值集列表的两种显示方式。 flag=A:表示查询所有选项列表值集,包含全局选项列表值集和字段级选项列表值集。 不携带flag,可根据条件进行查询。 project 否 String Picklist所属的项目名称。 type 否 String Picklist所属的项目类型。 name 否 String Picklist的名称。 isGlobal 否 String 是否为全局Picklist。 true false,默认为false
  • URI DELETE AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/deldir?dir=path 表1 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时命名的连接器实例名称。 dir 是 String 要删除的目录,如果目录为空或者“/ ”,则代表删除根目录。
  • URI DELETE AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/delobject?object=X 表1 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时命名的连接器实例名称。 object 是 String 文件所在桶里的全路径,包含文件名。
  • 终止(即取消)分段上传任务 功能描述 分段上传任务可以被取消,当一个分段上传任务被取消后,就不能再使用其“uploadId”做任何操作,已经上传段也会被删除。 采用分段上传方式上传文件过程中或上传文件失败后会在桶内产生段,这些段会占用存储空间,可以通过取消该分段上传任务来清理掉不需要的段,节约存储空间。 URI POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/abortupload?object=X&uploadId=Y 表9 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时,设置的连接器实例名称。 object 是 String 上传文件到桶里的全路径,包含文件名、文件类型、上传到桶里的路径。不携带路径时,表示上传到桶的根目录下。 示例:取值为“a/b/c/test.mp4”,表示将文件“test.mp4”上传到桶的“a/b/c”路径下。如果桶中不存在该路径,会创建该路径。 uploadId 是 String 整个分段上传任务的标识,从初始化分段上传任务的返回结果中获取该值。 请求参数 无 响应参数 表10 响应参数说明 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,需要向该OBS桶的“a/b/c”路径下上传大文件。已有初始化分段上传任务和分段上传任务,标识“uploadId”为“0000017B76500F0662CABA7128913936”,调用如下请求,取消该分段上传任务。 POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/abortupload?object=a/b/c/test3.mp4&uploadId=0000017B76500F0662CABA7128913936 响应示例 {"resCode": "0","resMsg": "成功"}
  • 上传分段 功能介绍 初始化分段上传任务之后,可以根据指定的对象文件名和“uploadId”来分段上传数据。每一个上传的段都有一个标识它的号码,即分段号(partNumber,范围是1~10000)。对于同一个分段上传任务(即uploadId相同),分段号“partNumber”不但唯一标识这一段数据,也标识了这段数据在整个对象文件内的相对位置。如果使用同一个分段号上传了新的数据,那么存储服务端上已有的这个段号的数据将被覆盖。除了最后一个分段以外,其他分段大小必须大于5MB,最大值对于OBS、MINIO本身来说没有限制,通过AstroZero平台该接口调用时,所有分段最大值不超过100MB。每个分段不需要按顺序上传,甚至可以在不同进程、不同机器上上传,存储服务端会按照分段号排序组成最终对象。 URI POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/uploadpart?object=X&uploadId=Y&partNumber=Z 表4 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时设置的连接器实例名称。 object 是 String 上传文件到桶里的全路径,包含文件名、文件类型、上传到桶里的路径。不携带路径时,表示上传到桶的根目录下。 示例:取值为“a/b/c/test.mp4”,表示将文件“test.mp4”上传到桶的“a/b/c”路径下。如果桶中不存在该路径,会创建该路径。 uploadId 是 String 整个分段上传任务的标识,从初始化分段上传任务的返回结果中获取该值。 partNumber 是 Number 分段号,取值范围为1~10000。 对于同一个分段上传任务(即uploadId相同),分段号“partNumber”不但唯一标识这一段数据,也标识了这段数据在整个对象文件内的相对位置。 请求参数 请求中的body类型,按照“application/octet-stream”格式上传文件分段内容。 响应参数 表5 响应参数说明 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Object 返回分段任务对象。对象中包含如下字段: ETag:文件分段的标识, 用于后续完成上传时使用。 partNumber:分段号,用于后续完成上传时使用。 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,需要向该OBS桶的“a/b/c”路径下上传大文件。已有初始化分段上传任务,标识“uploadId”为“0000017B761F112966C45D8FF0F75F13”,调用如下请求,创建分段上传任务,上传test.mp4,分段号为“1”。 POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/uploadpart?object=a/b/c/test.mp4&uploadId=0000017B761F112966C45D8FF0F75F13&partNumber=1 在请求Body中设置“application/octet-stream”格式的object,即要上传的文件数据。 响应示例 {"resCode": "0","resMsg": "成功","result": {"ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"","partNumber": 1}} 请记录下“ETag”和“partNumber”的值,后续完成上传时需要使用。
  • 完成上传合并段 功能介绍 所有分段上传完成后,需要调用完成上传接口,在存储服务端(如OBS)合并段生成最终对象文件。在执行完成上传操作时,需要提供所有有效的分段列表(包括分段号和分段ETag值)。AstroZero收到提交的分段列表后,会逐一验证每个段的有效性。当所有段验证通过后,将把这些分段组合成最终的对象。合并的分段任务可以是不连续的分段号。 完成上传任务后,“uploadId”就失效了,不能再用于终止(即取消)分段上传任务。 URI POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/completeupload?object=X&uploadId=Y 表6 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时命名的连接器实例名称。 object 是 String 上传文件到桶里的全路径,包含文件名、文件类型、上传到桶里的路径。不携带路径时,表示上传到桶的根目录下。 示例:取值为“a/b/c/test.mp4”,表示将文件“test.mp4”上传到桶的“a/b/c”路径下。如果桶中不存在该路径,会创建该路径。 uploadId 是 String 整个分段上传任务的标识,从初始化分段上传任务的返回结果中获取该值。 请求参数 数组类型,每个元素中包含如表7所示字段。 表7 请求参数说明 参数 是否必选 参数类型 描述 ETag 是 String 文件分段的标识。从上传分段的返回结果中获取该值。 partNumber 是 String 分段号。 对于同一个分段上传任务(即uploadId相同),分段号“partNumber”不但唯一标识这一段数据,也标识了这段数据在整个对象文件内的相对位置,从上传分段的返回结果中获取该值。 响应参数 表8 响应参数说明 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,需要向该OBS桶的“a/b/c”路径下上传大文件。已有初始化分段上传任务和两个分段上传任务,标识“uploadId”为“0000017B761F112966C45D8FF0F75F13”,调用如下请求,完成分段上传任务,合并所有分段生成最终对象文件。 POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/completeupload?object=a/b/c/test.mp4&uploadId=0000017B761F112966C45D8FF0F75F13[{"ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"","partNumber": 1}, {"ETag": "\"7dcad0c8a7398333ff25418bad511581\"","partNumber": 2}] 响应示例 {"resCode": "0","resMsg": "成功"}
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 200 ok 请求成功。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 响应参数 表2 响应参数说明 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Array of objects 返回目录的文件列表,列表中元素字段含义如下: name:文件名或目录路径 isDir:是否为目录 size:文件大小
  • 请求参数 请求中的body类型,按照“multipart/form-data”格式。 表2 请求参数 参数 是否必选 参数类型 描述 dir 否 String 上传文件在桶上的目录,如果为空则表示桶上的根目录。 acl 否 String 上传文件的访问控制权限。 private:私有 public-read:公共读 public-read-write:公共读写 default:和桶配置的权限一致 不填的话,和桶配置的权限一致。 object 是 String 要上传的文件数据,包含文件名和文件内容。
  • 请求示例 已创建好如图1所示的OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,向该OBS桶的“a/b/c”路径下上传“1.txt”文件。调用API上传文件,只能上传到连接器配置的第一个桶中。 图1 OBS连接器实例 POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/putobject?object=a/b/c/1.txt
  • URI POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/putobject?object=X 表1 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时命名的连接器实例名称。 object 否 String 待上传文件所在桶里的全路径,包含文件名、文件类型、上传到桶里的路径。不携带路径时,表示上传到桶的根目录下。 例如:取值为“a/b/c/1.txt”,表示将文件“1.txt”上传到桶的“a/b/c”路径下。如果桶中不存在该路径,会创建该路径。
  • 响应示例 {"resCode": "0","resMsg": "成功","result": [{"name": "test.zip","isDir": false,"size": 833154},{"name": "图片_20201220181511.png","isDir": false,"size": 78530},{"name": "月度总结.txt","isDir": false,"size": 824}]}
  • 请求示例 已创建好OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,执行如下请求,列举OBS桶中“a/b/c”路径下文件,起始文件为“1.txt”。 GET https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/listdir?dir=a/b/c&max-keys=1000&marker=a/b/c/1.txt
  • URI GET AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/listdir?dir=path&max-keys=A&marker=B 表1 路径参数 参数 是否必选 参数类型 描述 connector_type 是 String 连接器的类型。 obs:与OBS对接的连接器。 minio:与MINIO对接的连接器。 objectstorageproxy:对象存储代理类型。 connector_name 是 String 连接器实例的名称,即创建连接器时命名的连接器实例名称。 dir 是 String 要列举的目录,如果目录为空或者“/ ”,则代表列举根目录。 max-keys 否 Number 最大访问文件个数,最大支持1000个,缺省值为“1000”。 marker 否 String 起始访问位置文件,注意起始位置文件并不会包含到返回结果中,且起始访问文件必须是全路径的,即包含目录。 如果不指定,则从头开始。 示例:marker=a/b/c/1.txt
  • 约束与限制 UGO在使用上有一些功能约束与限制,用来提高实例的稳定性和安全性,具体详见表1。 表1 功能约束与限制 功能 使用限制 迁移前 不支持数据库服务命令(如SQL*Plus command PROMPT)。 RDS for MySQL和GaussDB(for MySQL)目标数据库中的一些动态约束,例如所有Varchar列大小之和不能超过64000。 对象集合 SYS_PLSQL开头的系统对象不采集。 以BIN$开头被删除对象不采集。 Oracle嵌套表不采集。 用户权限范围内,系统Schema内的对象不会采集。 其余不采集的对象,可参见Oracle源数据库对象收集不考虑哪些模式? SQL转换 对于命令行和联机转换器的使用方案,用户输入的sql必须按照有效的源库语法文档。由于当前Sql Parser/Identifier检查源库语法文档的input sql的语法,因此某些动态行为,它不能完全匹配源库引擎的功能。 源库连接数限制 UGO会占用一些数据库会话连接,超过源库最大连接数的限制,会影响源库的业务连接,进而影响业务功能。 源库对象采集 UGO进行对象采集时会占用源库资源,建议业务低峰期进行采集。 不支持增量迁移 UGO的转换依赖采集到的数据,采集完成后源库发生的结构变化不会被迁移过去,迁移之后的数据库修改应在源库和目标库两边同步进行,否则会影响变化的业务功能。 迁移后验证 UGO介入的是研发过程,核心目的是降本提效,对象迁移完成后,必须要在迁移后的数据库上做严格的测试,保证迁移后的对象功能和性能满足业务需求,才能做正式的生产割接,否则业务割接会存在很大风险。
  • 金融/互联网行业迁移 适合银行核心交易类业务、互联网类交易业务实现从传统商业数据库到云数据库的迁移。 优势: 高语法转换率: 支持主流商业数据库到通用云数据库的自动化语法转换,通过海量业务场景下亿级别代码样本的训练,使得语法转化率达到业界领先水准,最大程度帮助用户降本提效。 异常定位与改造建议: 对于转换出现错误的对象提供自动定位与异常根因分析,并且通过DBA知识库,对异构数据库无法适配的语法提供手工改造建议。
  • Oracle为源库 Oracle源库对象的DDL信息如无特殊说明,都是通过DBMS_METADATA.get_ddl系统包函数获取的。 对象的基本信息从系统视图中获取,有DBA视图与ALL视图两种采集模式,以下以ALL视图采集模式进行说明: INDEX:采集索引的时候,先从ALL_INDEXES视图里面查出所有的约束信息,然后把由主键或者唯一键约束自动创建的索引过滤掉(如果先创建了索引,然后创建约束,并且约束名和索引名相同,这种情况下索引也会被认为是由约束创建的,不会被采集)。
  • PostgreSQL为源库 以下是UGO对各个对象使用的采集方法: SCHEMA:使用 "CREATE SCHEMA " + schema名; 的拼接方式。 TABLE:通过查询pg_catalog.pg_attribute、pg_catalog.pg_class、pg_catalog.pg_namespace、pg_inherits系统视图,获取表名、字段名、字段类型、以及表分区信息,拼接成CREATE TABLE语句。生成列、表约束、外键约束等信息未考虑。 INDEX:通过查询pg_indexes视图的indexdef字段获取CREATE INDEX语句。 VIEW:通过查询pg_views视图的definition字段获取视图的子查询,然后拼接成 CREATE VIEW语句。 FUNCTION/PROCEDURE:通过pg_get_functiondef方法来获取CREATE FUNCTION 和 CREATE PROCEDURE语句。 请注意pg_get_functiondef方法无法处理聚合函数,因此自定义聚合函数当前无法采集。 TRIGGER:通过pg_get_functiondef方法获取触发器函数的定义,再通过pg_get_triggerdef获取CREATE TRIGGER语句,然后拼接成完整的触发器定义语句。 由于PostgreSQL数据库中并未公开获取所有对象类型定义DDL的方法,因此部分对象的DDL将采用查询元数据拼接的方式获取。这可能导致采集的DDL信息和原始DDL不一致,甚至缺少信息的情况。 如果采集的DDL无法满足您的使用要求,您可以使用pg_dump或者第三方数据库客户端工具获取对象DDL,然后通过SQL语句转换进行SQL转换。
  • 原生支持项、UGO支持项、迁移风险项和不支持转换项分别是什么意思? 原生支持项:指与目标数据库语法完全兼容,无需转换。 UGO支持项:指经UGO转换,语法的特性/功能与源数据库一致。 迁移风险项:指经UGO转换,语法的部分特性/功能与源数据库仍有差异,存在风险。 不支持转换项:指UGO不支持转换,目标库不兼容该语法。 其中原生支持项、UGO支持项和迁移风险项统称为UGO支持转换项。 父主题: 评估项目
共100000条