通过配置数据导入模板,进行数据导入
在AstroZero上定义数据导入模板,将模板下载到本地,并录入数据。数据录入完成后,通过导入模板导入新数据并按照预定义的脚本处理数据。
前提条件
- 导入数据的数据表已存于AstroZero中,参考数据对象建模创建对象CNAME__Class__CST,并自定义字段number。
- 对象“基本信息”页签已勾选“允许API批量访问”,如图1所示。
操作步骤
- 参考开发脚本,新建一个数据处理脚本如BulkInsert。
- 创建并编写脚本BulkInsert代码,入参是name和number,该脚本的主要功能是准备好了导入模板的输入字段,用以进行后面步骤的模板导入数据。
import * as context from 'context'; import * as db from 'db'; import * as sys from 'sys'; @useObject(['CNAME__Class__CST']) @action.object({ type: "params" }) export class ActionInput { @action.param({ type: 'Struct', isCollection: true, label: 'BatchRec' }) records: BatchRec[]; } @action.object({ type: "params", label: "BatchRec" }) export class BatchRec { @action.param({ type: 'String', label: 'name' }) name: string; @action.param({ type: 'String', label: 'age' }) number: string; } @action.object({ type: "params" }) export class ActionOutput { @action.param({ type: 'String', label: 'resMessage' }) resMessage: string; } @useObject(['CNAME__Class__CST']) @action.object({ type: "method" }) export class ActionDemo { @action.method({ label: 'insert_to_multi', description: 'insert_to_multi', input: 'ActionInput', output: 'ActionOutput' }) public insert_to_multi(input: ActionInput): ActionOutput { let out = new ActionOutput(); try { if (input.records.length < 1) { return out }; let recsInsert = [] for (let i = 0; i < input.records.length; i++) { var recOne = { name: input.records[i].name || 'yes', CNAME__number__CST: input.records[i].number } recsInsert.push(recOne) } console.log('recsInsert = ', recsInsert) if (recsInsert.length < 1) { return } let objMulti = db.object('CNAME__Class__CST'); let ret = objMulti.batchInsert(recsInsert); out.resMessage = "success" } catch (error) { context.setError(error.name, error.message) } return out; } }
- 单独运行脚本时没有入参会报错,请输入如下入参:
{ "records": [{ "name": "20届1班", "number": "201" }] }
图2 脚本BulkInsert的入参测试
输出参数如下所示,表示运行脚本符合预期。
{ "resMessage": "success" }
- 单击脚本编辑器上方启用脚本。
- 创建并编写脚本BulkInsert代码,入参是name和number,该脚本的主要功能是准备好了导入模板的输入字段,用以进行后面步骤的模板导入数据。
- 定义数据导入模板。
- 参考登录管理中心中操作,登录AstroZero管理中心。
- 在左侧导航栏中,选择“系统管理 > 数据处理 > 数据导入模板”。
- 单击“新建”,配置参数信息,若找不到脚本,请确认脚本是否启用。
图3 定义模板
表1 参数说明表 区域
参数
说明
基本信息
名称
数据导入模板的名称。
脚本
提前定义好的数据处理脚本。
您需要在脚本中声明一个集合属性的入参,脚本中入参的变量名与Excel模板中入参变量名保持一致。
描述
该数据导入模板的描述信息。
Excel映射
名称
定义输出到脚本的入参变量名,请和脚本中入参变量名保持一致。
列
Excel模板中具体的列。按照顺序定义,例如:A、B、C。
表头
Excel模板中第一行的列名。
操作
复制或删除操作。
- 设置完成后,单击“保存”。
- 在“数据导入模板”列表页面,单击该模板后的,下载模板到本地,录入数据并保存Excel。
图4 写入数据
- 将修改后的数据导入。
- 在“数据导入模板”列表页面,单击该模板后的,在导入页面拖入上一步录好数据的Excel,单击“导入”,上传数据。
图5 导入数据
- 在弹出的提示框中,单击“确定”。
图7 查看结果
- 在“数据导入模板”列表页面,单击该模板后的,在导入页面拖入上一步录好数据的Excel,单击“导入”,上传数据。