华为云用户手册

  • 配置应用 在“实例管理”界面,在华为云 区块链 引擎页签中,单击对应实例右上角的“下载配置文件”,配置SDK参数信息如下表1。 表1 参数表 参数名称 说明 证书存放路径 用户编译应用程序时,证书的最终存放路径。 如果证书路径需要变更,请手动修改SDK配置文件中所有证书相关路径,确保路径指向正确的位置。 组织 选择要下载配置的组织。 访问方式 默认标准通道。 证书选择 用户证书。 单击“下载”,将下载的配置文件压缩包放到证书存放路径下,进行解压。
  • 安装合约 安装合约的前提:根据不同合约类型,准备对应的合约文件。可单击链接获取Go类型的合约示例[链接]。 在实例管理页面的华为云区块链引擎页签,单击实例名称,进入实例概览页面。 选择左侧导航栏中的“合约管理”,单击页面右上角的“安装合约”。 在安装界面输入“合约名称”、“版本号”,选择合约类型以及安装组织,背书策略,添加合约文件等,如下图。 表1 合约信息 参数 描述 合约名称 chaincode 版本号 1.0 合约类型 Go 合约文件 添加合约文件。 安装组织 系统默认。 背书策略 系统默认“下列任意组织背书”。 背书组织 系统默认。 合约扫描 合约类型选择Go,该功能才会显示,默认开启,请根据需要选择是否开启代码安全检查。 描述 自定义描述信息。 单击“安装”,安装成功后刷新页面,合约管理页面显示一条已安装成功的合约信息。 单击“操作”列的“下载扫描报告”查看合约扫描结果。(以下示例仅供参考,请以实际扫描结果为准。) 若安装合约时未勾选"合约扫描",则对应合约不会生成检查报告,且不支持下载扫描报告操作。 解压压缩包,打开里面的html文件查看扫描结果详情,扫描报告按照错误、警告、提示三种类型分类显示,其中“错误”级别的问题需要处理,否则会影响链代码的正常功能;“警告”级别的问题建议通过代码重构进行规避;“提示”级别的问题可以根据实际情况进行选择性的处理。 例如示例图中出现“警告”级别的问题,单击打开详细信息,提供问题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 您可以根据合约检查结果对代码进行修改后,重新进行合约的安装或者更新。 父主题: 华为云区块链引擎快速入门
  • 操作步骤 进入购买华为云区块链引擎实例页面。 在订购页面填写区域、区块链实例名称和版本类型,其余采用默认参数。 以下截图示例仅供参考,用户可按照实际情况设置。 设置区域:华为-北京四,区块链实例名称:bcs-test,版本类型:专业版,其余采用默认参数。 单击“立即创建”进入配置确认页面,确认信息无误后,勾选协议和免责声明,单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回区块链服务控制台查看正在创建的实例。 实例创建大概需要18-25分钟,请耐心等待。实例创建成功后,查看实例状态变为“正常”后,表示实例部署完成。
  • 配置应用 在“实例管理”界面,在Hyperledger Fabric增强版实例卡片中,单击“获取客户端配置”。 在“请选择要下载的配置文件”页面,勾选“SDK文件”,输入链代码名称和证书存放路径,其余参数采用默认值。 链代码名称:需要与安装和实例化链代码时使用的链代码名称保持一致。例如:chaincodedemo。 证书存放路径:区块链应用证书下载后存放的目录,即下载证书后的存放路径。由于下载SDK文件后,SDK文件中会有拼接的证书地址,设置证书存放路径可以避免您手动修改该地址。 Windows操作系统:C:/javasdkdemo/config Linux操作系统:/root/javasdkdemo/config 勾选“共识节点证书”。 勾选“Peer节点证书”,指定节点组织选择organization,勾选“管理员证书”。 单击“下载”,下载SDK配置文件、demo-orderer组织的管理员证书和organization组织的管理员证书。 若购买区块链时区块链实例名称设置为demo,下载的SDK配置文件中对应的yaml文件名称为“demo-channel-sdk-config.yaml”。 若购买区块链时自定义区块链实例名称,例如设置为bcs123,则下载的SDK配置文件中对应的yaml文件名称为“bcs123-channel-sdk-config.yaml”,需要手动修改yaml文件名称为“demo-channel-sdk-config.yaml”。 将下载的demo-config.zip文件解压,将orderer文件夹、peer文件夹、sdk-config.json、sdk-config.yaml文件全部复制至存放demo的config路径下(Windows操作系统:C:/javasdkdemo/config,Linux操作系统:/root/javasdkdemo/config)。 javasdkdemo工程中config目录下必须有demo-channel-sdk-config.yaml文件。
  • 前提条件 已安装Java JDK开发环境。JDK需要安装1.8版本64位,如果本地已安装JDK,可以通过命令java -version来查看JDK版本。 登录区块链服务管理控制台,进入“应用案例”,下载“快速入门”中的Java应用示例。Windows操作系统下载并解压到C盘根目录下(文件夹路径为C:/javasdkdemo),Linux操作系统下载并解压到root路径下(文件夹路径为/root/javasdkdemo)。
  • 安装链代码 在实例管理页面中的Hyperledger Fabric增强版页签,单击新创建的Hyperledger Fabric增强版实例的“区块链管理”,登录链代码管理页面。 在登录页面输入用户名、密码、验证码,单击“登录”。 用户名为admin,初始登录密码为您在部署区块链服务时设置的资源初始密码,详细操作请参见购买Hyperledger Fabric增强版。为了保证系统安全,建议定期修改密码。 在链代码管理页面,单击页面左上角的“安装链代码”。 在安装界面输入“链代码名称”、“链代码版本”,选择需要安装链代码的节点及链代码语言,添加链代码文件等。 表1 安装链代码参数说明 参数 说明 链代码名称 chaincodedemo 链代码版本 1.0 选择全部Peer节点 勾选 链代码语言 Golang 链代码文件 添加链代码文件。本示例使用存证链代码,链代码文件下载方法:登录区块链服务管理控制台,进入“应用案例”,下载“快速入门”中的Go语言示例链代码。 链代码描述 根据需要填写相关描述。 代码安全检查 链代码语言选择Golang,该功能才会显示。选择是否开启代码安全检查。 单击“安装”,完成链代码安装。 单击链代码名称前,展开链代码详细信息。 在“版本列表”页签,单击“操作”列的“下载检查报告”查看链代码检查结果。(以下示例仅供参考,请以实际扫描结果为准。) 若不开启代码安全检查,则不会生成检查报告,也不会显示“下载检查报告”按钮。 图1 下载检查报告 解压文件压缩包,打开里面的html文件查看扫描结果详情,扫描报告按照错误、警告、提示三种类型分类显示,其中“错误”级别的问题需要处理,否则会影响链代码的正常功能;“警告”级别的问题建议通过代码重构进行规避;“提示”级别的问题可以根据实际情况进行选择性的处理。 图2 扫描文件 例如示例图中出现“提示”级别的问题1次,单击打开详细信息,提供问题的简要说明、错误示例代码、扫描详情、修改建议和示例代码供您参考。 图3 扫描详情 您可以根据链代码检查结果对代码进行修改后,重新进行链代码的安装或者更新。
  • 实例化链代码 链代码安装完成后,在链代码列表的“操作”列,单击“实例化”。 选择实例化通道、链代码版本、初始化函数、背书策略和背书组织等参数。 表2 链代码实例化配置 参数 示例 链代码名称 chaincodedemo 实例化通道 channel 链代码版本 1.0 初始化函数 init 链代码参数 - 背书策略 下列任意组织背书 背书组织列表 organization 隐私保护配置 否 单击“实例化”,稍等2~3分钟,完成链代码在当前通道上的实例化。
  • 操作步骤 进入购买Hyperledger Fabric增强版实例页面。 在订购页面填写企业项目、区块链实例名称(demo)和资源初始密码,其余采用默认参数,具体参数请参见基于CCE集群。 快速入门示例中,建议区块链实例名称设置为demo,则下载的SDK配置文件中对应的yaml文件名称为“demo-channel-sdk-config.yaml”。 若需要自定义区块链实例名称,例如设置为bcs123,则下载的SDK配置文件中对应的yaml文件名称为“bcs123-channel-sdk-config.yaml”,配置应用时需将yaml文件名称改为“demo-channel-sdk-config.yaml”。详细请参见调用链代码。 配置完成后,根据界面提示,购买Hyperledger Fabric增强版实例。 请等待数分钟,安装页面提示安装成功,查看实例及组织状态变为“正常”后,表示Hyperledger Fabric增强版实例部署完成。
  • 入门指引 区块链服务(Blockchain Service,简称 BCS )是华为云面向企业及开发者提供的区块链技术服务平台,它可以帮助您在华为云上快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。 本文旨在帮助您了解区块链服务的基本使用流程,帮助您快速上手区块链服务。 区块链服务BCS 支持Hyperledger Fabric增强版和华为云区块链引擎实例: Hyperledger Fabric增强版:以Hyperledger Fabric 为内核,基于华为云全栈可信能力,包括弹性服务器,企业级容器、安全和人工智能等服务,在保持无缝社区对接方式前提下,在可靠性、性能、隐私保护方面做了增强和提升,满足企业级和金融级业务要求。支持包周期和按需,版本规格多样化,支持商用。详细请参见版本规格说明。 华为云区块链引擎:以B CS 自主研发区块链内核为底座,结合可信硬件,具有高安全、高性能、高可扩展、强隐私保护等特点,满足企业级和金融级的可信和协同要求。支持专业版、企业版和铂金版,详细请参见版本规格说明。 当前仅“华北-北京四”区域支持华为云区块链引擎实例。 BCS使用流程如图1所示。 图1 BCS使用流程 说明如下: 购买区块链 请先 注册华为账号 并开通华为云,然后完成实名认证后,购买区块链服务。 安装和实例化链代码 区块链购买后,需要安装和实例化链代码。 调用链代码 下载SDK到业务应用,通过SDK调用链代码。
  • 开发移动端页面 登录华为云Astro大屏应用服务控制台,单击“进入首页”,进入华为云Astro大屏应用界面。 在项目列表页面,单击右上角的“+ 新建项目”。 选择“移动端”,输入项目名称为“Alarm”,单击“新建”。 图2 新建移动端项目 在项目中,单击“+新建页面”。 单击“新建空白页面”,输入页面标题“告警处理情况统计”,单击“新建”。 设置水平基本柱图组件。 在左侧全部组件中,拖拽“水平基本柱图”到页面开发操作区域,即画布区域。 图3 拖拽水平基本柱图组件 选择水平基本柱图组件,单击组件上方的,配置数据源,完成后单击“保存”。 “数据类型”选择“静态数据”,“输入数据”选择“Json模式”,输入如下示例数据,并单击,格式化数据。 [{ "x": "10-01", "y": 311, "s": "待派单" }, { "x": "10-02", "y": 465, "s": "待派单" }, { "x": "10-03", "y": 927, "s": "待派单" }, { "x": "10-04", "y": 630, "s": "待派单" }, { "x": "10-05", "y": 65, "s": "待派单" }, { "x": "10-06", "y": 800, "s": "待派单" }, { "x": "10-07", "y": 247, "s": "待派单" }, { "x": "10-08", "y": 530, "s": "待派单" }, { "x": "10-01", "y": 311, "s": "已派单" }, { "x": "10-02", "y": 465, "s": "已派单" }, { "x": "10-03", "y": 345, "s": "已派单" }, { "x": "10-04", "y": 630, "s": "已派单" }, { "x": "10-05", "y": 65, "s": "已派单" }, { "x": "10-06", "y": 800, "s": "已派单" }, { "x": "10-07", "y": 247, "s": "已派单" }, { "x": "10-08", "y": 530, "s": "已派单" }, { "x": "10-01", "y": 311, "s": "处理中" }, { "x": "10-02", "y": 465, "s": "处理中" }, { "x": "10-03", "y": 927, "s": "处理中" }, { "x": "10-04", "y": 630, "s": "处理中" }, { "x": "10-05", "y": 1334, "s": "处理中" }, { "x": "10-06", "y": 800, "s": "处理中" }, { "x": "10-07", "y": 247, "s": "处理中" }, { "x": "10-08", "y": 530, "s": "处理中" }, { "x": "10-01", "y": 311, "s": "已关闭" }, { "x": "10-02", "y": 465, "s": "已关闭" }, { "x": "10-03", "y": 927, "s": "已关闭" }, { "x": "10-04", "y": 630, "s": "已关闭" }, { "x": "10-05", "y": 65, "s": "已关闭" }, { "x": "10-06", "y": 800, "s": "已关闭" }, { "x": "10-07", "y": 689, "s": "已关闭" }, { "x": "10-08", "y": 530, "s": "已关闭" } ] 选中水平基本柱图组件,单击组件上方的,“参考模板”为“蓝色渐变不排序”,并设置组件标题为“告警处理情况统计”。 图4 选择蓝色渐变不排序模板 图5 配置标题 选中水平基本柱图组件,单击组件上方的,打开“水平堆叠”开关,并将所有数据系列中的“数据标签”设置为“上”。 图6 打开水平堆叠开关 图7 将数据标签设置为上 选中水平基本柱图组件,单击组件上方的,隐藏Y轴网格线。 图8 隐藏网格线 设置基本折线图组件。 在左侧全部组件中,拖拽“基本折线图”组件到移动端页面开发操作区域,即画布区域。 图9 拖拽基本折线图 选中基本折线图组件,单击组件上方的,设置组件数据源,完成后单击“保存”。 “数据类型”选择“静态数据”,“输入数据”选择“Json模式”,输入如下示例数据,并单击,格式化数据。 [{ "x": "12-29", "y": 0, "s": "平均处理时长" }, { "x": "12-30", "y": 0, "s": "平均处理时长" }, { "x": "12-31", "y": 0, "s": "平均处理时长" }, { "x": "01-01", "y": 82, "s": "平均处理时长" }, { "x": "01-02", "y": 78, "s": "平均处理时长" }, { "x": "01-03", "y": 67, "s": "平均处理时长" }, { "x": "01-04", "y": 43, "s": "平均处理时长" } ] 选中基本折线图组件,单击组件上方的,设置组件标题“内容”为“告警平均处理时长统计”。 图10 设置基本折线图组件标题 选中基本折线图组件,单击组件上方的,打开Y轴轴线“显示”开关。 图11 轴线显示 单击页面上方的,保存后单击,选择不同手机型号查看页面在移动端上的显示效果。 图12 查看移动端效果
  • 开发大屏页面 登录华为云Astro大屏应用服务控制台,单击“进入首页”,进入华为云Astro大屏应用界面。 选择大屏&PC端项目,输入项目名称为“统计”,单击“新建”。 图2 新建项目 在大屏&PC端项目中,单击“+ 新建页面”,选择“新建空白页面”。 输入页面标题“人员来访统计”,单击“新建”。 页面标题的长度为1~100个字符。如果页面默认大小和您的显示分辨率或目标分辨率不符,请自行调整页面分辨率及组件布局以达到最佳显示效果 在页面上方单击,根据实际需要设置背景图片。 图3 设置背景图片 图4 选择背景图 从全部组件中,分别拖拽文本编辑、水平基本柱图、基本柱图、和区域图到画布区域,布局如图6所示。 图5 拖拽文本编辑组件到画布 图6 组件布局 在页面右上角,根据需要选择所需的主题(本示例设置为经典原始,即单击“取消当前主题卡片装饰”)。 配置文本编辑组件。 选中上方文本编辑组件,单击上方,设置文本内容为“人员来访统计”,字体设置为“60”。 图7 设置文本编辑标题 在段落设置中,设置标题对齐方式为“居中”。 图8 设置标题对齐方式 配置水平基本柱图组件。 选中最上方的水平基本柱图组件,在组件上方单击,配置组件数据,单击“保存”。 “数据类型”选择“静态数据”,“输入数据”选择“Json模式”,输入如下示例数据,并单击,格式化数据。 [{ "x": "人员统计", "y": 153, "s": "总公司员工" }, { "x": "人员统计", "y": 80, "s": "合作人员" }, { "x": "人员统计", "y": 63, "s": "访客人员" }, { "x": "人员统计", "y": 124, "s": "安防人员" }, { "x": "人员统计", "y": 56, "s": "保洁人员" } ] 选中水平基本柱图组件,在组件上方单击,设置模板为“蓝色渐变不排序”。 图9 设置模板 选中水平基本柱图组件,在组件上方单击,将所有数据系列中的“数据标签”设置为“上”,让数据显示在柱形图上方。 图10 数据显示在柱形图上方 打开水平堆叠效果。 图11 打开水平堆叠 选中水平基本柱图组件,在组件上方单击,隐藏x轴,并隐藏y轴网格线。 图12 隐藏x轴 图13 隐藏y轴网格线 选中水平基本柱图组件,在组件上方单击,设置组件标题内容为“当前人员类型统计”。 图14 设置组件标题 参考9,配置左下角基本柱图。 选中左下角的基本柱图组件,在组件上方单击,配置组件数据,单击“保存”。 “数据类型”选择“静态数据”,“输入数据”选择“Json模式”,输入如下示例数据,并单击,格式化数据。 [{ "x": "01", "y": 20, "s": "入园人数" }, { "x": "02", "y": 30, "s": "入园人数" }, { "x": "03", "y": 45, "s": "入园人数" }, { "x": "04", "y": 20, "s": "入园人数" }, { "x": "05", "y": 60, "s": "入园人数" }, { "x": "06", "y": 80, "s": "入园人数" }, { "x": "07", "y": 140, "s": "入园人数" }, { "x": "08", "y": 200, "s": "入园人数" }, { "x": "09", "y": 145, "s": "入园人数" }, { "x": "10", "y": 40, "s": "入园人数" }, { "x": "11", "y": 70, "s": "入园人数" }, { "x": "12", "y": 60, "s": "入园人数" }, { "x": "13", "y": 80, "s": "入园人数" }, { "x": "14", "y": 16, "s": "入园人数" }, { "x": "15", "y": 87, "s": "入园人数" }, { "x": "16", "y": 77, "s": "入园人数" }, { "x": "17", "y": 60, "s": "入园人数" }, { "x": "18", "y": 20, "s": "入园人数" }, { "x": "19", "y": 60, "s": "入园人数" }, { "x": "20", "y": 80, "s": "入园人数" }, { "x": "21", "y": 55, "s": "入园人数" }, { "x": "22", "y": 68, "s": "入园人数" }, { "x": "23", "y": 70, "s": "入园人数" }, { "x": "24", "y": 24, "s": "入园人数" }, { "x": "01", "y": 90, "s": "出园人数" }, { "x": "02", "y": 60, "s": "出园人数" }, { "x": "03", "y": 30, "s": "出园人数" }, { "x": "04", "y": 20, "s": "出园人数" }, { "x": "05", "y": 10, "s": "出园人数" }, { "x": "06", "y": 110, "s": "出园人数" }, { "x": "07", "y": 140, "s": "出园人数" }, { "x": "08", "y": 87, "s": "出园人数" }, { "x": "09", "y": 64, "s": "出园人数" }, { "x": "10", "y": 45, "s": "出园人数" }, { "x": "11", "y": 11, "s": "出园人数" }, { "x": "12", "y": 24, "s": "出园人数" }, { "x": "13", "y": 80, "s": "出园人数" }, { "x": "14", "y": 14, "s": "出园人数" }, { "x": "15", "y": 98, "s": "出园人数" }, { "x": "16", "y": 35, "s": "出园人数" }, { "x": "17", "y": 41, "s": "出园人数" }, { "x": "18", "y": 14, "s": "出园人数" }, { "x": "19", "y": 45, "s": "出园人数" }, { "x": "20", "y": 80, "s": "出园人数" }, { "x": "21", "y": 31, "s": "出园人数" }, { "x": "22", "y": 22, "s": "出园人数" }, { "x": "23", "y": 23, "s": "出园人数" }, { "x": "24", "y": 24, "s": "出园人数" } ] 选中基本柱图组件,单击组件上方的,在统一配置中将数据系列中柱条宽度设置为8。 图15 设置柱条宽度为8 选中基本柱图组件,单击组件上方的,显示x轴网格线,显示y轴轴线,隐藏y轴网格线。 图16 显示x轴网格线 图17 显示y轴轴线、隐藏网格线 选中基本柱图组件,单击组件上方的,设置标题“内容”为“人员流程统计 人/时”。 图18 设置标题 参考9,配置区域图。 选择右下方的区域图组件,在组件上方单击,配置组件数据。 “数据类型”选择“静态数据”,“输入数据”选择“Json模式”,输入如下示例数据,并单击,格式化数据。 [{ "x": "01", "y": 20, "s": "在园人数" }, { "x": "02", "y": 30, "s": "在园人数" }, { "x": "03", "y": 45, "s": "在园人数" }, { "x": "04", "y": 20, "s": "在园人数" }, { "x": "05", "y": 60, "s": "在园人数" }, { "x": "06", "y": 80, "s": "在园人数" }, { "x": "07", "y": 140, "s": "在园人数" }, { "x": "08", "y": 200, "s": "在园人数" }, { "x": "09", "y": 145, "s": "在园人数" }, { "x": "10", "y": 40, "s": "在园人数" }, { "x": "11", "y": 70, "s": "在园人数" }, { "x": "12", "y": 60, "s": "在园人数" }, { "x": "13", "y": 80, "s": "在园人数" }, { "x": "14", "y": 16, "s": "在园人数" }, { "x": "15", "y": 87, "s": "在园人数" }, { "x": "16", "y": 77, "s": "在园人数" }, { "x": "17", "y": 60, "s": "在园人数" }, { "x": "18", "y": 20, "s": "在园人数" }, { "x": "19", "y": 60, "s": "在园人数" }, { "x": "20", "y": 80, "s": "在园人数" }, { "x": "21", "y": 55, "s": "在园人数" }, { "x": "22", "y": 68, "s": "在园人数" }, { "x": "23", "y": 70, "s": "在园人数" }, { "x": "24", "y": 24, "s": "在园人数" } ] 选中区域图组件,单击组件上方的,设置标题内容为“昨日在园人数统计 人/时”。 图19 设置区域图组件标题 选中区域图组件,单击组件上方的,显示x轴网格线,打开y轴轴线开关,隐藏y轴网格线。 图20 显示区域图x轴网格线 图21 打开区域图y轴轴线隐藏网格线 单击页面上方的,保存后单击,预览效果。 图22 查看预览效果
  • 应用场景 人员来访统计大屏用于展示园区中人员相关信息,例如人员类型,人员流量及在园人数等。大屏页面构想,如图1所示。 图1 大屏页面效果 图1中大屏页面由下列组件拼装而成,组件介绍顺序为从上到下、从左到右。 表1 组件说明 组件 说明 文本编辑 文本编辑组件,用于展示标题,例如人员来访统计。 水平基本柱图 统计当前人员类型,如总公司员工、合作员工、访客人员、安防人员、保洁人员。 基本柱图 统计入园和出园人数。 区域图 统计昨日在园人数。
  • 步骤四:新建华为云Astro轻应用数据源 创建一个华为云Astro轻应用数据源,用于对接华为云Astro轻应用环境。 在华为云Astro轻应用服务控制台的左侧导航栏中,单击“Astro大屏应用”,进入华为云Astro大屏应用服务控制台。 在已购买的实例中,单击“进入首页”,进入华为云Astro大屏应用界面。 在顶部菜单栏中,选择“数据中心”,单击“新建数据源”。 选择“AstroZero”,配置数据源参数。 图32 新建数据源 表7 新建数据源参数说明 参数 说明 示例 数据源名称 新建数据源的名称,用于标识该数据源。长度为1~32个字符,可包括中文、字母、数字及下划线,且不能以下划线开头或结尾。 Zero对接Canvas数据源 域名 华为云Astro大屏应用环境的域名,需要携带“https://”。 步骤三:获取域名、客户端ID和密码中获取的域名 客户端ID 调用华为云Astro大屏应用接口前,需要配置“客户端模式”OAuth鉴权的客户端ID。 步骤三:获取域名、客户端ID和密码中获取的client_id 客户端密码 调用华为云Astro大屏应用的接口前,需要配置“客户端模式”OAuth鉴权的客户端鉴权密钥。 步骤三:获取域名、客户端ID和密码中获取的client_secret 单击“连接测试”,显示“连接成功”,表示数据源可以调通。 单击“保存”,完成数据源的创建。
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": [ { "actionId": "", "actionScript": "", "belongTo": "", "createdBy": "10gd000001DHHEwmE1NQ", "createdBy.name": "test00xx", "createdDate": "2024-06-11 11:17:13", "custom": true, "description": "", "id": "000q000001DobvdqMuVk", "isBaseline": false, "label": "testLabel", "lastModifiedBy": "10gd000001DHHEwmE1NQ", "lastModifiedBy.name": "test00xx", "lastModifiedDate": "2024-06-11 11:17:13", "name": "TestNameForButton", "objectId": "cust000001Dgez2L19N2", "owner": "10gd000001DHHEwmE1NQ", "owner.name": "test00xx", "properties": "", "protectMode": 0, "source": "", "type": "Button", "visibility": 0 } ] }
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": { "name": "CNAME1__test__CST", "col": "D0.V4", "objectId": "cust000001Dgez2L19N2", "id": "cust000001DoWciUWMaG", "label": "test", "dataType": "Text", "category": 4, "isRequired": true, "isUnique": true, "isIndexed": true, "isUnionIndexed": false, "dataLength": 255, "scale": 0, "status": 0, "encryptType": 0, "caseSensitive": true, "enableFilter": true, "enableSort": true, "visibleLines": 3, "populateRows": 1, "startingNumber": 0, "defaultValue": "vfdsg", "createdBy": "10gd000001DHHEwmE1NQ", "createdDate": "2024-06-11 10:02:59", "lastModifiedBy": "10gd000001DHHEwmE1NQ", "lastModifiedDate": "2024-06-11 10:02:59", "inlineHelpText": "dsf", "description": "fsdf", "sequenceNo": 1005, "protectMode": 0, "installedPackage": "", "isSearchable": true, "visibility": 0, "belongTo": "", "minEncryptedSearchableLength": 0, "rollbackType": false, "autoType": "", "resetUnit": "", "autoExpand": false, "createdBy.name": "hw065922111", "lastModifiedBy.name": "hw065922111" } }
  • URI GET 华为云Astro轻应用域名/u-route/baas/metadata/v1.0/object/{object_id}/Field/{field_id} 表1 路径参数 参数 是否必选 参数类型 描述 object_Id 是 String 参数解释: 对象的ID值,可通过调用查询所有自定义对象接口查看(响应消息中的“id”)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 field_id 是 String 参数解释: 字段ID,可通过按照object_id查询自定义对象接口查看。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 label 是 String 参数解释: 服务编排的标签。 约束限制: 不涉及。 取值范围: 1~64个字符。 默认取值: 不涉及。 processType 是 String 参数解释: 服务编排的类型。 约束限制: 不涉及。 取值范围: Autolaunched Flow:自启动Flow,在接口调用后会立即执行服务编排模型定义的逻辑。 Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。当选择该类型时,您需要配置具体的事件以及条件规则。 默认取值: “Autolaunched Flow”。 startElement 否 String 参数解释: 服务编排的起始元素。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 interviewLabel 否 String 参数解释: 服务编排实例的标签。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 localUrl 否 String 参数解释: 服务编排接口本地URL,格式为“/run/”加服务编排的name。假设,服务编排的name定义为test_test,则这里的值为“/run/test_test”。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 event 否 String 参数解释: 服务编排涉及的事件。 约束限制: 当processType为“ Event Trigger”时,必填。 取值范围: 不涉及。 默认取值: 不涉及。 variables 否 Array 参数解释: 绑定的具体事件信息。 约束限制: 当服务编排类型是“Event Trigger”,则可以填写绑定具体事件。 formulas 否 Array of objects 参数解释: 服务编排中定义的公式。 约束限制: 不涉及。 structs 否 Array of objects 参数解释: 服务编排中定义的结构体。 约束限制: 不涉及。 constants 否 Array of objects 参数解释: 在服务编排的全局上下文中,定义的常量可以在编排中使用。 约束限制: 不涉及。 structVariables 否 Array of objects 参数解释: 结构体变量。 约束限制: 不涉及。 objectVariables 否 Array of objects 参数解释: 对象变量。 约束限制: 不涉及。 catalogue 否 String 参数解释: 服务编排的分类。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 private 否 String 参数解释: 是否私有。 约束限制: 私有的服务编排不能通过Rest API或者自定义API(公共接口)进行调用。 取值范围: true:私有。 false:公开。 默认取值: 不涉及。
  • 请求示例 查询“TestProject__testForObject1__CST”对象中,name值为“zhang”的记录数,且限制只返回3条,总记录数为5条,返回的记录按“TestProject__length__CST”字段降序排列,查询参数base为N表示按对象名称进行查询。 POST https://华为云Astro轻应用域名/u-route/baas/data/v1.0/query/TestProject__testForObject1__CST?base=N {"condition": { "conjunction": "AND", "conditions": [ { "field": "name", "operator": "eq", "value": "zhang" } ] }, "options": { "orderby": [ { "field": "TestProject__length__CST", "order": "desc" } ], "limit": 3 } }
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": [ { "TestProject__age__CST": null, "TestProject__length__CST": "888", "TestProject__name__CST": null, "createdBy": "10gd000000SDzgxNSckK", "createdBy.__objectType": "User", "createdBy.name": "test0xx", "createdDate": "2020-05-29 12:50:59", "currencyIsoCode": "", "id": "cglE000000aMGHkvmhmb", "installedPackage": null, "lastModifiedBy": "10gd000000SDzgxNSckK", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test0xx", "lastModifiedDate": "2020-05-29 12:50:59", "name": "zhang", "owner": "10gd000000SDzgxNSckK", "owner.__objectType": "User", "owner.name": "test0xx" }, { "TestProject__age__CST": null, "TestProject__length__CST": "456", "TestProject__name__CST": null, "createdBy": "10gd000000SDzgxNSckK", "createdBy.__objectType": "User", "createdBy.name": "test0xx", "createdDate": "2020-05-29 12:50:59", "currencyIsoCode": "", "id": "cglE000000aMGHkvmhma", "installedPackage": null, "lastModifiedBy": "10gd000000SDzgxNSckK", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test0xx", "lastModifiedDate": "2020-05-29 12:50:59", "name": "zhang", "owner": "10gd000000SDzgxNSckK", "owner.__objectType": "User", "owner.name": "test0xx" }, { "TestProject__age__CST": null, "TestProject__length__CST": "17", "TestProject__name__CST": null, "createdBy": "10gd000000SDzgxNSckK", "createdBy.__objectType": "User", "createdBy.name": "test0xx", "createdDate": "2020-05-29 12:43:11", "currencyIsoCode": "", "id": "cglE000000aMFjB9ipAu", "installedPackage": null, "lastModifiedBy": "10gd000000SDzgxNSckK", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test0xx", "lastModifiedDate": "2020-05-29 12:43:11", "name": "zhang", "owner": "10gd000000SDzgxNSckK", "owner.__objectType": "User", "owner.name": "test0xx" } ], "count": 5 }
  • 请求参数 表2 请求参数 参数 是否必选 参数类型 描述 condition 否 Object 参数解释: 表示查询的条件,包含以下元素,若为空则表示查询所有对象数据。 conjunction:表示需要满足的条件个数。 AND:表示条件都要满足。 OR:表示至少要满足一个条件。 conditions:筛选条件的数组。如果参数为空,代表查询所有对象数据,若不为空,其中的每一个元素对象都包含如下三个字段。 field:字段名称。 operator:操作符。例如,“eq”表示等于、“ne”表示不等于、“gt”表示大于、“lt”表示小于、“ge”表示大于等于、“le”表示小于等于。 value:对比值。 relation:数组中包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。 其中,parents包含condition数组和relatedField(关联字段名称)。children包含condition数组和relationName(关联字段名称)。 约束限制: 不涉及。 relation 否 Object 参数解释: 关联查询,包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。 其中,parents包含condition数组和relatedField(关联字段名称)。children包含condition数组和relationName(关联字段名称)。 condition数组包含conjunction、conditions和relation,参数解释同condition。 { //向上查询 parents: [ //第一级父对象 { relatedField: "CarHolder__CST", //当前对象的字段(Lookup/MasterDetail类型),据此确定父对象 options: { fields: ["id", "name", "Age__CST"] //父对象的待查字段 }, parents: [ //(可选)第二级父对象 { relatedField: "cust__CST", //父对象的字段(Lookup/MasterDetail类型),据此确定祖父对象 options: { fields: ["id", "name", "Email__CST"] //祖父对象的待查字段 } } ] } ], //向下查询 childs: [ //第一级子对象 { relationName: "Contacts", //子对象关系名(子对象定义Lookup/MasterDetail时指定),据此确定子对象 options: { fields: ["id", "name", "Age__CST", "cust__CST"] //子对象的待查字段 }, childs: [ //(可选)第二级子对象 { relationName: "ContactCars", //孙子对象关系名 options: { fields: ["id", "name", "Price__CST", "CarHolder__CST"] //孙子对象待查字段 } } ] } ] } 约束限制: 不涉及。 options 否 Object 参数解释: 附加选项,对查询返回的结果进行一些操作。 orderBy:按指定字段的值排序,取值为asc(升序)和desc(降序) options: { orderby: [ { field: "name", order: db.Order.desc } ], } groupby:按照指定字段进行分组 options: { groupby: [ { field: "name", } ], } distinct:去重 options: { distinct: true, } 限制查询返回的记录数:通过skip值指定从第多少条开始,limit指定总共返回多少条记录 { options: { skip: 100, limit: 100 } } 约束限制: 不涉及。
  • 响应参数 表3 响应参数 参数 参数类型 描述 resCode String 参数解释: 返回码。 取值范围: 如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 参数解释: 返回消息。 取值范围: 成功返回“成功”,其他情况会返回具体的错误信息。 result Array 参数解释: 查询返回的对象数据。 count number 参数解释: 对象中满足条件的总记录数。 取值范围: 不涉及。
  • 请求示例 新增两个记录,例如新增“TestProject__testForObject__CST”对象的两个记录。 POST https://华为云Astro轻应用域名/u-route/baas/data/v1.0/bobject/TestProject__testForObject__CST { "records": [ { "name": "name1" }, { "name": "name2" } ] }
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": [{ "active": false, "application": null, "belongTo": "000f000001DHIByJ3nKC", "belongTo.__objectType": "Application", "belongTo.name": "", "createdBy": "10gd000001DHHEwmE1NQ", "createdBy.__objectType": "User", "createdBy.name": "test00xx", "createdDate": "2024-05-22 16:02:55", "custom": true, "customStyle": null, "deletedDate": null, "description": null, "id": "003g000001DHkGa4LkkC", "installedPackage": null, "isDeleted": false, "label": "Test__ApprovedResource__CST Detail", "lastModifiedBy": "10gd000001DHHEwmE1NQ", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test00xx", "lastModifiedDate": "2024-05-22 16:02:55", "layer": "null", "libraries": "[]", "logo": null, "name": "__layout__Test__ApprovedResource__CST__detail", "overridable": true, "owner": "10gd000001DHHEwmE1NQ", "owner.__objectType": "User", "owner.name": "test00xx", "pageType": null, "protectMode": 0, "referencePageId": null, "systemModifiedDate": null, "type": "Page", "version": "1.0.1", "visibility": 0 }, { "active": false, "application": "000f000001Df2QvzMS4O", "application.__objectType": "Application", "application.name": "N2109869914__psi", "belongTo": null, "createdBy": "10gd000001DHHEwmE1NQ", "createdBy.__objectType": "User", "createdBy.name": "test00xx", "createdDate": "2024-06-05 16:52:39", "custom": true, "customStyle": ".newmodal .form-buttons-container{\n display: none\n}", "deletedDate": null, "description": null, "id": "003g000001Df2TOk6oxI", "installedPackage": "003L000001Df2QxT2t6U", "installedPackage.__objectType": "PackageInstall", "installedPackage.name": "", "isDeleted": false, "label": "管理仓库管理员", "lastModifiedBy": "10gd000001DHHEwmE1NQ", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test00xx", "lastModifiedDate": "2024-06-05 16:52:41", "layer": "null", "libraries": "", "logo": null, "name": "N2109869914__Managewarehouse_admin", "overridable": true, "owner": "10gd000001DHHEwmE1NQ", "owner.__objectType": "User", "owner.name": "test00xx", "pageType": "Manage", "protectMode": 0, "referencePageId": null, "systemModifiedDate": null, "type": "Page", "version": "1.0.9", "visibility": 0 }, { "active": false, "application": "000f000001Df2fEmnBmy", "application.__objectType": "Application", "application.name": "N2211461455__psi", "belongTo": "000f000001Df2fEmnBmy", "belongTo.__objectType": "Application", "belongTo.name": "N2211461455__psi", "createdBy": "10gd000001DHHEwmE1NQ", "createdBy.__objectType": "User", "createdBy.name": "test00xx", "createdDate": "2024-06-05 16:55:53", "custom": true, "customStyle": ".newmodal .form-buttons-container{\n display: none\n}", "deletedDate": null, "description": null, "id": "003g000001Df2hjjDouB", "installedPackage": "003L000001Df2fGPHBr4", "installedPackage.__objectType": "PackageInstall", "installedPackage.name": "", "isDeleted": false, "label": "管理买家", "lastModifiedBy": "10gd000001DHHEwmE1NQ", "lastModifiedBy.__objectType": "User", "lastModifiedBy.name": "test00xx", "lastModifiedDate": "2024-06-05 16:55:55", "layer": "null", "libraries": "", "logo": null, "name": "N2211461455__Managebuyer", "overridable": true, "owner": "10gd000001DHHEwmE1NQ", "owner.__objectType": "User", "owner.name": "test00xx", "pageType": "Manage", "protectMode": 0, "referencePageId": null, "systemModifiedDate": null, "type": "Page", "version": "1.0.8", "visibility": 0 } ] }
  • 基本概念 账号 用户注册账号时,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在华为云Astro轻应用中,用户访问华为云Astro轻应用来开发应用、管理配置应用和业务用户。 业务用户 业务用户是指访问在华为云Astro轻应用中开发的一个业务应用的用户账号。例如,设备维修管理业务应用由某用户A开发,使用该业务应用的客服人员、派单员及维修人员都是业务用户,用户A是用户,不是业务用户。 区域 区域是指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 您可以从地区和终端节点中,查询服务所在的区域。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
  • 请求示例 向对象“TestProject__testForObject1__CST”中插入三条数据,body体中含有要插入的records参数。 POST https://华为云Astro轻应用域名/u-route/baas/data/v1.0/upsert/TestProject__testForObject1__CST { "records":[ { "name":"zhang", "TestProject__length__CST":"17" }, { "name":"li", "TestProject__length__CST":"30" }, { "name":"wang", "TestProject__length__CST":"20" } ] }
  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": [ { "id": "cglE000000aMFjB9ipAu" }, { "id": "cglE000000aMFjB9ipAv" }, { "id": "cglE000000aMFjB9ipAw" } ] }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 参数解释: 新增触发器的名称。 约束限制: 不涉及。 取值范围: 必须以英文字母开头,只能由英文字母,数字和单下划线组成,没有连续的下划线,不能以单下划线结尾,且长度不能超过64个字符。 默认取值: 不涉及。 label 否 String 参数解释: 新增触发器的标签。 约束限制: 不涉及。 取值范围: 1~64个字符。 默认取值: 不涉及。 description 否 String 参数解释: 触发器的描述信息。 约束限制: 不涉及。 取值范围: 1~255个字符。 默认取值: 不涉及。 script 是 String 参数解释: 脚本名,即基于哪个脚本实现触发器的功能。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 jscode 否 string 参数解释: 触发器中的JavaScript代码。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 active 否 String 参数解释: 是否激活触发器。 约束限制: 不涉及。 取值范围: true:表示激活。 false:表示不激活。 默认取值: false event 否 String 参数解释: 满足什么条件时启动触发器。 约束限制: 不涉及。 取值范围: 可选择BeforeInsert、AfterInsert、BeforeUpdate,AfterUpdate、BeforeDelete或AfterDelete。 默认取值: 不涉及。
  • 请求示例 根据object_id新增trigger。 POST https://华为云Astro轻应用域名/u-route/baas/metadata/v1.0/Object/cust000000aKtFZpERvc/Trigger { "name": "Trigger_01", "label": "Trigger 01", "description": null, "script": "string", "jscode": "Hello, world;rn", "active": true, "event": "BeforeInsert" }
  • 调用接口 根据请求URI和请求方法,明确请求如下。 GET https://华为云Astro轻应用域名/u-route/baas/metadata/v1.0/object?flag=S&type=cst,std URI中参数说明如下: flag=S:查询对象结果不带任何其他关联信息(默认)。 flag=D:查询没有关联Tab的对象。 type=cst:查询用户自定义对象(如果没有type则为该值,默认值)。 type=std:查询标准对象。 type=stp:查询setup对象。 type=cst,std:查询自定义对象和标准对象,其他组合类似,中间用逗号隔开。 对象列表以对象名按照字母A-Z进行排序。 设置请求消息头。 表1 请求消息头 消息头名称 描述 是否必选 Content-Type HTTP协议中设定的一个参数,用于标识返回的内容用什么格式去解析,此处必须配置为“application/json”。表示浏览器将返回内容解析为json对象。 是 access-token 当用户登录系统鉴权成功后,后台会生成一个token,在响应消息中携带,并存在浏览器中。下次再调用请求后,会带上这个token,表示这个用户已经被鉴权过。 是 该接口不用构造请求消息体。返回如下响应,表示成功查询对象列表。 { "resCode": "0", "resMsg": "成功", "result": [ { "id": "stad00000000000000GH", "keyPrefix": "10gh", "name": "AttachFile", "category": 2, "label": "Attach File", "pluralLabel": "Attach Files", "version": 55834574848, "contextSetup": 0, "trackFieldHistory": false, "allowReports": false, "allowActivities": false, "allowChatter": false, "allowStreamingApiAccess": false, "allowBulkApiAccess": false, "allowSearch": false, "allowSharing": false, "sharingMode": 0, "deploymentStatus": 0, "properties": "", "status": 0, "createdBy": "", "createdDate": "", "lastModifiedBy": "", "lastModifiedDate": "", "description": "", "objectType": 0, "protectMode": 0, "installedPackage": "", "createdBy.name": "", "lastModifiedBy.name": "", "childObjects": null, "parentObjects": [ { "parentObject": "stad00000000000000GD", "cascadeDelete": false }, { "parentObject": "stad00000000000000GG", "cascadeDelete": false }, { "parentObject": "stup000000000000002I", "cascadeDelete": false }, { "parentObject": "stup000000000000003L", "cascadeDelete": false } ] } ] }
  • URL POST、GET、PUT、DELETE 华为云Astro轻应用域名/u-route/baas/metadata/v1.0/{object_name}/{object_id} 表1 路径参数 参数 是否必选 参数类型 描述 object_name 是 String 参数解释: 对象的名称。 约束限制: 不涉及。 取值范围: 1~80个字符。 默认取值: 不涉及。 object_id 是 String 参数解释: 所填对象对应的实例ID,可通过调用查询所有自定义对象接口查看(响应消息中的“id”)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。
共100000条
提示

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