华为云用户手册

  • 通过OBS Browser+下载数据 登录MapDS控制台。 在左侧导航栏选中“卫星遥感数据”,进入订单列表页面。 单击对应的订单前面的,查看订单详情,订单详情中的“数据下载链接”即为数据下载地址。 图1 获取下载地址 安装OBS Browser+,获取工具参见下载OBS Browser+。 登录OBS Browser+,登录方式参考登录OBS Browser+。 在地址栏输入步骤3获得的下载地址找到存放数据的桶。 图2 下载数据 选择文件下载到本地即可。
  • 通过obsutil下载数据 登录MapDS控制台。 在左侧导航栏选中“卫星遥感数据”,进入订单列表页面。 单击对应的订单前面的,查看订单详情,订单详情中的“数据下载链接”即为数据下载地址。 图3 获取下载地址 安装obsutil并进行初始化配置,具体请参见下载和安装obsutil、初始化配置obsutil。 进入obsutil工具所在目录,运行./obsutil cp obs://xxx命令,将桶中的对象下载至本地。 obsutil使用详情参见通过obsutil下载对象。
  • 复制数据到指定桶 登录MapDS控制台。 在左侧导航栏选中“卫星遥感数据”,进入订单列表页面。 单击对应的订单前面的,查看订单详情,订单详情中的“数据下载链接”即为数据下载地址。 图4 获取下载地址 OBS支持通过API、SDK、OBS Browser+、obsutil方式复制对象。具体参考表2。 表2 复制对象 支持的使用方式 参考文档 SDK OBS支持多种语言SDK,请从SDK概述页面选择进入对应的开发指南查阅。 API 复制对象 OBS Browser+ 复制文件或文件夹 obsutil 复制对象
  • 操作步骤 登录MapDS控制台。 在左侧导航栏选中“卫星遥感数据”,进入订单列表页面。 单击右上角“购买卫星遥感数据”,进入购买页面。 根据界面提示选择购买区域。 在购买区域上用户可根据“行政区域选择”或者“自定义SharpFile”。 自定义sharpFile场景说明: 上传的shp文件要求文件包含4个文件,后缀分别为.shp,.shx,.dbf,.prj,缺一不可。 自定义sharpFile场景,要求上传的shp文件是WGS84坐标系,MapDS把shp文件从WGS84坐标系转换成EPSG:4527坐标系完成面积统计计算。 图1 选择区域 单击“下一步”,根据界面提示进行属性配置,配置信息表1所示。 表1 配置属性 参数名称 参数说明 购买类型 影像:数字正射影像图,带有公里格网、图廓(内、外)整饰和注记的平面图。 地形:数字高程模型,即对地面地形的数字化模拟。 交付类型 光学 多光谱 时效 现势(90天以内):直接获取所需空间范围内的90天内的影像数据 一年存档 两年存档 三年存档 预约拍摄:可自行选择预约时间进行数据拍摄 预约时间 当时效选择“预约拍摄”时,需要选择预约时间。 分辨率 购买类型为“影像”时需要设置分辨率。 精度越高,能观察到的地面物体越清晰。 高程精度 购买类型为“地形”时需要设置高程精度。 网格大小 购买类型为“地形”时需要设置网格大小。 坐标系(可选) 当勾选“高级选项”时,需要设置该项。 WGS-84坐标系:2000.0历元的瞬时坐标,用于生产活动,强调统一性、规范性、自洽性和稳定性。 2000国家大地坐标系:观测历元的动态坐标,用于导航,强调实时性、动态性。 单击“下一步”,填写用户联系方式:用户名和电话号码。 单击“下一步”,进行配置信息确认。 确认无误后,单击“支付”。
  • 修订记录 发布日期 修订记录 2023-11-01 第十五次正式发布。 本次变更说明如下: 云硬盘加密、云硬盘备份,更新/添加相关权限限制。 2023-07-20 第十四次正式发布。 本次变更说明如下: 约束与限制,更新并添加相关约束限制。 2023-06-07 第十三次正式发布。 本次变更说明如下: 云硬盘回收站计费说明,新增查询云硬盘回收站费用账单相关内容。 2023-02-14 第十二次正式发布。 本次变更说明如下: 更新: 磁盘类型及性能介绍,修改容量单位为“GiB”。 2023-01-09 第十一次正式发布。 本次变更说明如下: 增加“通用型SSD V2”、"极速型SSD V2"章节。 2022-11-14 第十次正式发布。 本次变更说明如下: 增加“安全”章节。 2022-07-26 第九次正式发布。 本次变更说明如下: 增加“云硬盘回收站计费说明”章节。 2022-05-24 第八次正式发布。 本次变更说明如下: “权限管理”章节增加变更磁盘类型。 2020-09-01 第七次正式发布。 本次变更说明如下: 在“磁盘类型及性能介绍”章节中增加“极速型SSD”云硬盘。 2020-01-05 第六次正式发布。 本次变更说明如下: 在“磁盘类型及性能介绍”章节中增加“通用SSD”云硬盘。 2018-09-10 第五次正式发布。 本次变更说明如下: 增加“云硬盘三副本技术”章节。 2018-08-03 第四次正式发布。 本次变更说明如下: 增加“包年/包月磁盘到期前后的影响及使用建议”章节。 增加“按需付费磁盘欠费前后的影响及使用建议”章节。 2018-07-30 第三次正式发布。 本次变更说明如下: 在“什么是云硬盘”章节中增加“云硬盘、弹性文件服务、 对象存储服务 的区别”小节。 增加共享云硬盘和S CS I结合使用的注意事项。 修改磁盘性能指标。 2018-06-30 第二次正式发布。 本次变更说明如下: 增加“云硬盘备份与快照的区别”章节。 基于KVM ECS和XEN ECS的维度,优化“磁盘模式及使用方法”章节的“使用SCSI类型云硬盘需要安装驱动吗”小节。 2018-06-15 第一次正式发布。
  • 云硬盘IOPS性能计算公式举例说明 单个云硬盘IOPS性能 =“最大IOPS”与“基线IOPS + 每GiB云硬盘的IOPS × 云硬盘容量”的最小值。 以超高IO云硬盘为例,单个超高IO云硬盘的最大IOPS为50000。 假如云硬盘容量为100 GiB,则该云硬盘IOPS性能 = min (50000, 1800 + 50 × 100 ),取50000与6800中的最小值,即该云硬盘IOPS性能为6800。 假如云硬盘容量为1000 GiB,则该云硬盘IOPS性能 = min (50000, 1800 + 50 × 1000 ),取50000与51800中的最小值,即该云硬盘IOPS性能为50000。
  • 云硬盘性能 云硬盘性能的主要指标包括: IOPS:云硬盘每秒进行读写的操作次数。 吞吐量:云硬盘每秒成功传送的数据量,即读取和写入的数据量。 IO读写时延:云硬盘连续两次进行读写操作所需要的最小时间间隔。 表1 云硬盘性能数据表 参数 极速型SSD V2(公测) 极速型SSD 通用型SSD V2 超高IO 通用型SSD 高IO 普通IO(上一代产品) 云硬盘最大容量(GiB) 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 系统盘:1024 数据盘:32768 描述 专用于对延迟敏感的业务关键型应用程序的极高性能 SSD云硬盘。 具备持续 IOPS 性能 超过 128000 IOPS、1000 MiB/s 吞吐量 适用于需要超大带宽和超低时延的场景。 容量与性能解耦,支持在容量固定的情况下,基于业务性能诉求,按需、灵活地调整IOPS和吞吐量。适合各种主流的高性能、低延迟交互应用场景。 超高性能云硬盘,可用于企业关键性业务,适合高吞吐、低时延的工作负载。 高性价比的云硬盘,适合中等性能诉求的企业应用。 可用于一般访问的工作负载f。 可用于不常访问的工作负载。 典型应用场景 数据库 Oracle SQL Server ClickHouse AI场景 数据库 Oracle SQL Server ClickHouse AI场景 企业办公、虚拟桌面 大型开发测试 转码类业务 系统盘 大中型规模的数据库(SQL Server 、 Oracle 、NoSQL、PostgreSQL) 转码类业务。 I/O密集型场景。 NoSQL Oracle SQL Server PostgreSQL 时延敏感型场景。 Redis Memcache 企业办公 中型开发测试 中小型数据库 Web应用 系统盘 普通开发测试 大容量、读写速率中等、事务性处理较少的应用场景。 日常办公应用 轻载型开发测试 不建议用于系统盘 最大IOPSa 256000 128000 128000 50000 20000 5000 2200 最大吞吐量a(MiB/s) 4000 1000 1000 350 250 150 50 IOPS突发上限a NA 64000 NA 16000 8000 5000 2200 云硬盘IOPS性能计算公式c IOPS值由用户预配置,范围为100~256000,具体可配置值≤(1000*容量(GiB)) IOPS = min (128000, 1800 + 50 × 容量(GiB)) IOPS值由用户预配置,范围为3000~128000,具体可配置值≤(500*容量(GiB)) IOPS = min (50000, 1800 + 50 × 容量(GiB)) IOPS=min (20000, 1800 + 12 × 容量(GiB)) IOPS = min (5000, 1800 + 8 × 容量(GiB)) IOPS = min (2200, 500 + 2 × 容量(GiB)) 云硬盘吞吐量性能计算公式b(MiB/s) 吞吐量≤min(4000,预配置IOPS/16) 吞吐量 = min (1000, 120 + 0.5 × 容量(GiB)) 吞吐量值由用户配置,范围为125~1000,具体可配置值≤(IOPS/4) 吞吐量 = min (350, 120 + 0.5 × 容量(GiB)) 吞吐量 = min (250, 100 + 0.5 × 容量(GiB)) 吞吐量 = min (150, 100 + 0.15 × 容量(GiB)) 吞吐量 = 50 单队列访问时延d(ms) 亚毫秒级 亚毫秒级 1 1 1 1~ 3 5~ 10 API名称e ESSD2 ESSD GPSSD2 SSD GPSSD SAS SATA a:最大IOPS、最大吞吐量、IOPS突发上限三个参数的值均为读写总和。比如最大IOPS=IOPS读+IOPS写。 b:以单块超高IO云硬盘吐量性能计算公式为例说明:起步120 MiB/s,每GiB增加0.5 MiB/s,上限为350 MiB/s。 c:以单块超高IO云硬盘IOPS性能计算公式为例说明:起步1800,每GiB增加50,上限为50000。 d:单队列指队列深度为1,即并发度为1。单队列访问时延是所有IO请求串行处理时IO的时延,表格中数据是4KiB数据块能达到的时延。 e:API名称代表云硬盘API接口中“volume_type”参数的取值,不代表底层存储设备的硬件类型。 f:高IO(专属分布式存储高IO除外)云硬盘由普通硬盘(HDD)提供支持,适合一般工作负载的应用场景,提供的性能中,基准吞吐量为每TiB 40MiB/s,最大吞吐量为每块云硬盘150MiB/s;对于负载较高的应用,建议使用更高规格的云硬盘,他们由固态硬盘(SSD)提供支持。 云硬盘的性能与数据块大小密切相关。当最大IOPS或最大吞吐量中有一项指标达到最大值时,此时云硬盘性能达到最大,另一项指标无法再继续上升。 对于小数据块,例如4 KiB和8 KiB,性能可达到最大IOPS。 对于≥ 16 KiB的大数据块,性能可达到最大吞吐量。 以超高IO云硬盘为例,根据公式推算,超高IO云硬盘容量≥ 964 GiB时,IOPS最大可达50000,吞吐量最大可达350 MiB/s。而实际情况并非如此,具体请参见表2。 表2 超高IO云硬盘性能上限 数据块大小(KiB) 最大IOPS 最大吞吐量(MiB/s) 4 约50000 约195 8 约44800 约350 16 约22400 约350 32 约11200 约350
  • 云硬盘突发能力及原理 突发能力是指小容量云硬盘可以在一定时间内达到IOPS突发上限,超过IOPS上限的能力。此处IOPS上限为单个云硬盘的性能。 突发能力适用于弹性云服务器启动场景,一般系统盘容量较小,以50 GiB的超高IO云硬盘为例,如果没有突发能力,根据IOPS性能计算公式IOPS = min (50000, 1800 + 50 × 容量),50 GiB的超高IO云硬盘IOPS上限只能达到4300,但使用突发能力后,IOPS可高达16000,从而提升弹性云服务器的启动速度。 以超高IO云硬盘为例,单个超高IO云硬盘的IOPS突发上限为16000。 容量为100 GiB的云硬盘,其IOPS上限为6800,IOPS突发上限为16000,因此在一定时间内该云硬盘的最大IOPS可达到16000。 容量为1000 GiB的云硬盘,其IOPS上限为50000,但是IOPS突发上限仅为16000,云硬盘的IOPS上限已经超过了突发IOPS,因此该云硬盘无需突发能力。 以下介绍云硬盘突发IOPS的消耗原理和储蓄原理。 突发的实现基于令牌桶,令牌桶中的初始令牌数量 = 突发时间 × IOPS突发上限,此处突发时间固定为1800 s。 以100 GiB的超高IO云硬盘为例,令牌桶容量为28800000个令牌(1800 s × 16000 )。 令牌的生成速度:该桶以6800个/s的速度生成令牌,其中6800为该云硬盘的IOPS上限。 令牌的消耗速度:根据实际IO使用情况而定,每个IO会消耗一个令牌,最大消耗速度为16000个/s,此处取突发IOPS上限和云硬盘IOPS上限的较大值。 消耗原理 当令牌消耗速度大于令牌的生成速度时,令牌数量会逐渐减少,最后IOPS会维持跟桶生成令牌的速度一致,即云硬盘的IOPS上限。本示例中,可以维持突发IOPS的时间为3130 s ≈ 28800000 / (16000 - 6800) 。 储蓄原理 当令牌的消耗速度小于令牌的生成速度时,桶中的令牌会逐渐增加,之后又可以拥有突发能力。本示例中,如果云硬盘暂停使用4235 s ≈ 28800000 / 6800,令牌桶就可以存满。 桶中的令牌数量只要大于零,云硬盘就具有突发能力。 本示例中令牌的消耗和储蓄原理如图1所示。蓝色柱状表示云硬盘IOPS的使用情况,绿色虚线为IOPS上限,红色虚线为IOPS突发上限,黑色曲线表示令牌数量的变化趋势。 当令牌数量大于零时,IOPS可以突破6800,即具有达到IOPS突发上限16000的能力。 当令牌数为零时,此时不具备突发能力,IOPS最大为6800。 当实际IOPS小于6800时,令牌数量开始增加,可以恢复突发能力。 图1 突发能力示意图
  • B1(servicelayer)接口 接口清单: 应用场景 接口名称 请求方式 接口URL 认证 登录接口 POST b1s/v1/login ERP数据同步到OA 查询B1对象 GET b1s/v1/{objType} 注: objType是一个参数,表示对象名,下同 ERP数据同步到OA 更新B1对象 PATCH b1s/v1/{objType} OA数据同步到ERP 创建B1对象 POST b1s/v1/{objType} ERP审批流程同步与回写 查询草稿单 GET b1s/v1/Drafts ERP审批流程同步与回写 更新草稿单 PATCH b1s/v1/Drafts ERP审批流程同步与回写 查询审批流 GET b1s/v1/ApprovalRequests ERP审批流程同步与回写 更新审批流 PATCH b1s/v1/ApprovalRequests 具体参考:servicelayer接口文档 登录接口 查询B1对象接口 更新B1对象接口 创建B1对象接口 查询草稿单接口 更新草稿单接口 查询审批流接口 更新审批流接口 父主题: 依赖接口清单描述
  • 更新草稿单接口 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/Drafts{key} 接口API功能描述 更新B1草稿单 调用方式 PATCH 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 路径参数 参数名称 参数说明 key 所更新的单据主键字段值 请求体参数:(参考实际servicelayer接口请求字段) 响应体参数:无 父主题: B1(servicelayer)接口
  • 创建生产发料 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/InventoryGenExits 接口API功能描述 创建生产发料 调用方式 POST 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 请求体参数(参考servicelayer接口字段) 响应体参数:(参考servicelayer接口响应字段) 父主题: servicelayer接口
  • 保存数据方案 整体设计流程: 图1 具体设计方案: 图2 如上图,数据查询具体方案如下: 在 集成工作台 创建servicelayer连接器,连接器通过登录接口进行自定义认证; 在servicelayer连接器中创建执行动作,封装创建生产发料、创建生产收货等所需接口; 通过servicelayer登录接口创建连接,连接servicelayer系统; diapi连接器使用查询接口中已经创建好的连接器; 在集成工作台创建一个手动触发流,作为保存子流; 在集成工作台创建api流,接受来自条码应用保存数据的请求; 根据请求中的数据判断是否倒扣料; 如果倒扣料,使用diapi连接器中执行sql的执行动作,查询发料行,构造生产发料请求数据,调用子流创建生产发料;构造生产收货请求数据,调用子流创建生产收货; 如果没有倒扣料,则直接调用子流创建出入库单据; 根据条码应用请求所需返回的数据,将结果返回 父主题: 集成方案设计
  • SparkPackERP查询所有草稿单接口 同上步骤1 选择执行动作-创建执行动作,填写“基本信息”,“请求信息”,“响应信息”: 基本信息中执行动作名称为“查询所有草稿单”; 请求信息中,请求方式为GET,请求URL为/SparkPackERPs/v1/Drafts,新增两个查询参数:$filter,$select; 响应体中添加200响应,响应体中配置所需JSON字段; 保存。 父主题: SparkPackERP和OA的接口封装到集成工作台
  • SparkPackERP草稿单审批接口 同上步骤1 选择执行动作-创建执行动作,填写“基本信息”,“请求信息”,“响应信息”: 基本信息中执行动作名称为“草稿单审批”; 请求信息中,请求方式为PATCH,请求URL为/SparkPackERPs/v1/{ApprovalRequests},新增请求体Json结构如下图; 响应体中添加200响应; 保存。 父主题: SparkPackERP和OA的接口封装到集成工作台
  • SparkPackERP查询单个草稿单接口 同上步骤1 选择执行动作-创建执行动作,填写“基本信息”,“请求信息”,“响应信息”: 基本信息中执行动作名称为“查询单个草稿单”; 请求信息中,请求方式为GET,请求URL为/SparkPackERPs/v1/{Drafts},‘{}’表示路径参数,新增一个路径参数“Drafts”,新增两个查询参数:$filter,$select; 响应体中添加200响应,响应体中配置所需JSON字段(所需字段为字段映射表中service layer层的字段) 保存。 父主题: SparkPackERP和OA的接口封装到集成工作台
  • 数据从ERP同步到OA 整体设计流程: 详细设计图: 图1 如上图,数据从ERP同步到OA具体方案如下: 在集成工作台创建B1(servicelayer)连接器,连接器通过登录接口进行自定义认证; 在servicelayer连接器中创建执行动作,封装查询数据的统一接口; 在servicelayer连接器中创建连接,输入登陆接口的认证信息,连接servicelayer; 在集成工作台创建泛微OA连接器,连接器通过获取token接口进行自定义认证; 在OA连接器中创建执行动作,封装创建基础数据的接口; 在OA连接器中创建连接,输入获取token接口的参数信息,连接OA; 在集成工作台创建计划流,通过servicelayer连接器中查询数据的执行动作定时(每隔1min)查询B1中未同步的数据; 遍历查询出的所有未同步数据,对每条数据单独处理; 按照OA创建数据接口要求,将B1查询出的数据构造成OA接口的请求格式; 使用OA连接器中创建数据的执行动作,调用OA创建数据接口,在OA中创建数据; 如果在OA中创建数据成功,使用servicelayer连接器中更新数据的执行动作,将B1中已同步的数据状态更新为已同步。 父主题: 集成方案设计
  • 创建ERP单据审批同步流 同ERP基础数据同步到OA一样,ERP单据同步到OA也是通过集成工作台建立定时任务,所以第一个节点选择"重复执行"执行动作 首先需要查询ERP中需要进行审批的单据,则需要调用查询B1草稿单的接口,查询未同步的草稿单:选择自定义的B1连接器,选择里面的查询草稿单列表执行动作,参数用全局配置实现可配置 查询出来的未同步草稿单可能有多条,用遍历集合元素执行动作遍历查询结果 选择B1连接器中自定义的数据转换执行动作,将B1返回的数据结构转换成mainData,detailData结构 选择Code代码简易版执行动作,通过编写函数,对数据进行处理 将可配置的变量用全局配置封装起来,便于后续修改 通过OA连接器的创建流程执行动作调用OA系统创建流程的接口,参数数据格式按要求传入 判断上述创建流程接口是否成功,如果成功,使用自定义B1连接器中更新草稿单的执行动作更新草稿单状态为已同步 保存 父主题: 创建ERP单据审批同步回写流
  • 创建生产退料 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/InventoryGenEntries 接口API功能描述 创建生产退料 调用方式 POST 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 请求体参数(参考servicelayer接口字段) 响应体参数:(参考servicelayer接口响应字段) 父主题: servicelayer接口
  • API流开启后端自定义认证 条码四条API流均需要开启后端自定义认证 “API生命周期”-“API管理”,查看条码相关API流并点击编辑 点击两次“下一步”到“定义后端服务”,为API流绑定后端自定义认证函数 新建自定义认证,并选择3.4.1创建的后端认证函数BackendAuthentication 缓存设置为3600s,完成创建 为后端服务绑定“系统参数” 点击“下一步”并完成 点击“发布API”并选择RELEASE环境 重复步骤1-7,依次完成其他三条流的后端自定义函数绑定 父主题: API流认证相关设置
  • 查询审批流接口 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/ApprovalRequests 接口API功能描述 查询B1审批流 调用方式 GET 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” Prefer 可用于设置查询条数,如:odata.maxpagesize=20,表示一次查20条 查询参数 参数名称 参数说明 $filter 筛选条件,可用于筛选B1记录 $select 筛选返回字段 请求体参数:无 响应体参数:(参考servicelayer接口响应字段) 父主题: B1(servicelayer)接口
  • 创建diapi连接器 新建自定义认证函数,函数配置如下: 函数代码如下: # -*- coding:utf-8 -*- import json import base64 import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) """" mssiAuthData参数样例 { "header":{}, // 连接器认证header参数 "path": {}, // 连接器认证path参数 "query":{}, // 连接器认证query参数 "body":{}, // 连接器认证body参数 "host":"https://demo.com // API主机地址 } """ def extractRequestParam(rawValue, encoded, defaultValue): if encoded and rawValue: rawValue = str(base64.b64decode(rawValue), "utf-8") return json.loads(rawValue) if rawValue else defaultValue def login(body,mssiAuthData): url = mssiAuthData.get("host") + "/b1dis/v1/login" headers = {'Content-Type': 'application/json'} session = requests.Session() session.post(url, json=body, headers=headers, verify=False) _cookies = [] for k, v in session.cookies.get_dict().items(): _cookies.append(k + "=" + v) return {'Cookie': ';'.join(_cookies)} ## 请勿对下面的函数做修改 def handler(event, context): """ 函数是方法的入口 :param event: 执行事件(event), 包含用户定义的函数参数以及所选择的的连接器认证相关参数 :param context: Runtime提供的函数执行上下文 :return: """ isBase64Encoded = event.get('isBase64Encoded', False) inputData = extractRequestParam(event.get('body'), isBase64Encoded, {}) # 用户定义的函数参数数据 mssiAuthData = extractRequestParam(event.get('mssiAuthData'), isBase64Encoded, {}) # 连接器认证数据 mssiAuthData["securityToken"] = context.getToken() dataExtendConfig = extractRequestParam(event.get('dataExtendConfig'), isBase64Encoded, {}) # 流步骤扩展参数 result = login(inputData, mssiAuthData) return json.dumps(result) 登录集成工作台-连接器-我的连接器-创建我的连接器; 连接器参数配置如下,认证函数选择新建的DIAPILogin函数: 父主题: 集成实施最佳实践
  • 执行sql接口 接口地址 https://api-service.sperp.myhuaweicloud.com/diapi/XXXX/b1dis/v1/exec-sql 接口功能描述 执行sql,查询B1数据 请求方式 POST 请求体参数: 参数名称 参数描述 参数类型 Sql 需要执行的sql 字符串 响应体参数: 参数名称 参数描述 参数类型 code 响应编码 字符串 message 响应信息 字符串 data 响应数据 对象 请求样例: { "Sql": "Select \"ItemCode\",\"ItemName\",\"CstGrpCode\",\"FrgnName\",\"BuyUnitMsr\",\"CardCode\",TO_VARCHAR (TO_DATE(\"UpdateDate\"), 'YYYY-MM-DD') UpdateDate,TO_VARCHAR (TO_DATE(\"CreateDate\"), 'YYYY-MM-DD') CreateDate,\"InvntryUom\",\"U_SFJY\",\"U_CX\",\"U_CC\" from OITM WHERE ifnull(\"U_SYN\",'N')='N' " } 响应体样例: { "code": "RIS.10000000", "message": "OK", "data": { "value": [ { "ItemCode": "XN0004", "ItemName": "XN0004", "CstGrpCode": -1, "FrgnName": "", "BuyUnitMsr": "", "CardCode": "", "UPDATEDATE": "2023-10-20", "CREATEDATE": "2023-10-20", "InvntryUom": "", "U_SFJY": "", "U_CX": "", "U_CC": "" }, { "ItemCode": "XN0001", "ItemName": "XN0001", "CstGrpCode": -1, "FrgnName": "", "BuyUnitMsr": "", "CardCode": "", "UPDATEDATE": "2023-10-20", "CREATEDATE": "2023-10-20", "InvntryUom": "", "U_SFJY": "", "U_CX": "", "U_CC": "" }]}} 父主题: diapi接口
  • 前期准备 环境准备:OA系统、B1系统、集成工作台,以及对应账号信息 接口文档:对应的接口使用文档,这里接口请参考2.4 同步字段:拿采购申请审批为例,以下是B1内的字段清单 集成工作台绑定域名参考5.3.2 企业微信绑定域名参考5.3.3 图1 B1单据字段信息 图2 企业微信表单设计信息(简单起见,只同步部分字段) B1审批流配置 登录B1系统,点击进入管理-审批流程-审批阶段,维护审批阶段信息并添加保存。 点击进入管理-审批流程-审批模板,进行审批模板设置,关联单据和审批阶段。 B1单据自定义字段维护 登录B1系统,选择进入工具-定制工具-用户自定义字段-管理—营销单据-标题,点击添加 企业微信系统审批流程和表单开发 登陆企业微信管理后台,创建OA表单并设计审批流程。为支撑在OA创建表单,需在OA获取对应表单ID见下图中红色方框内。 简单起见,流程设计如下 企业微信应用准备 登陆企业微信开发者后台,选择企业应用管理-审批,再选择API-接收事件服务器。如下图所示: 父主题: 开发指南
  • 共享流模板复制到我的流模板 登录客户的华为云账号,进入集成工作台,选择流编排-我的流模板-共享流模板,选择"ERP基础数据同步到E-cologyOA_23-9-0"模板,点击复制,复制到我的流模板 复制成功 进入我的流模板,查看刚才复制的流模板 重复步骤1-2,将其它5个共享流模板复制到我的流模板。 如果当前复制的流模板和之前的流模板使用了相同的函数和连接器,会提示是否覆盖,一律选择全部覆盖(如下): 完成后,在我的流模板页面查看如下: 父主题: 实施流程
  • 创建企业微信审批回调总流 集成工作台-我的流-创建流(本章节不再详细叙述原理,详细原理可参考审批申请状态变化回调通知 - 文档 - 企业微信开发者中心 (qq.com)) 连接器选择“API流”,触发事件选择“当收到HTTP请求时”(当企业微信审批状态变化时接收企业微信审批信息); 填写要处理的请求方式以及租户用户信息,API请求方式get,API认证方式为无认证,API请求体架构如下图所示: 添加执行动作,选择连接器为“控制”,执行动作为“条件判断”,参数如图所示: 在右边条件下添加执行动作‘条件判断’,条件参数如图所示(判断信息是否来自企业微信): 在添加执行‘响应’,参数如图所示(给企业微信响应解密后的字符串): 添加执行动作‘将XML格式转换成JSON格式’,参数如图所示 添加执行动作‘JSON解析’,参数如图所示: 添加执行动作‘条件判断’,参数如图所示: 添加执行动作‘将XML格式转换成JSON格式’,参数如图所示 添加执行动作‘JSON解析’,参数如图所示: 添加执行动作‘条件判断’,参数如图所示(判断审批单状态是否为同意或不同意): 新增执行动作,执行动作选择为“多分支条件(switch)”,参数如图所示(根据表单ID去调子流程): 点击‘新增分支’,分支条件填写对应表单模板ID(可以给不同单据调用不同的子流程) 新增执行动作,连接器选择为“同步调用子流程”,参数如图所示(需要先根据4.5.1.3创建子流再执行此步骤): 整体API流如图所示 具体实施步骤参考5.4.3.1.4 父主题: 标准单据场景流
  • 创建采购收货 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/PurchaseDeliveryNotes 接口API功能描述 创建采购收货 调用方式 POST 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 请求体参数(参考servicelayer接口字段) 响应体参数:(参考servicelayer接口响应字段) 父主题: servicelayer接口
  • 创建生产收货 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/InventoryGenEntries 接口API功能描述 创建生产收货 调用方式 POST 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 请求体参数(参考servicelayer接口字段) 响应体参数:(参考servicelayer接口响应字段) 父主题: servicelayer接口
  • 应用场景分析 根据条码应用中webapi的功能,集成开发需要完成查询数据和保存数据的功能: (1) 查询数据,数据查询sql从条码应用提交到集成工作台,集成工作台调用diapi服务,执行sql查询ERP的数据返回给条码应用; (2) 保存数据,数据按某种数据结构从条码应用提交到集成工作台,集成工作台调用service layer服务接口,将数据保存到ERP; 父主题: SparkPack(B1)和条码集成
  • 创建自定义单据审批同步流 集成工作台-我的流-创建流 连接器中选择“计划”,触发事件为“重复执行”(设置定时任务同步SparkPackERP待审批单据同步至企业微信) 设置重复周期与重复方式为全局配置方便顾问配置。 添加执行动作,选择连接器为创建的SparkPackERP连接器,执行动作为“查询单据列表” 填写过滤参数,参考字段为U_SyncStatus eq 'N'(筛选没有同步到企业微信过的单据,配置成全局配置方便实施人员修改),objType为SparkPackERP单据类型如PurchaseRequests或者自定义单据唯一标识配置成全局参数方便实施人员修改 再给‘查询单据列表’添加并选择一个配置,在参数名称下配置需要的SparkPackERP字段(DocNum与UserSign为必填字段且DocNum在企业微信模板字段名为单据编号,DocNum为同步企业微信审批结果至SparkPackERP时使用,UserSign为查询发起人在企业微信对应的ID时使用) 添加执行动作,选择连接器为“控制”,执行动作为“遍历集合元素”; 遍历的集合内容为,查询单据列表结果中的“value”字段; 添加执行动作,执行动作为“SparkPackERP-微信数据转换”,将SparkPackERP字段格式转换成企业微信数据格式(此执行动作本质是一个函数,根据配置将SparkPackERP字段格式转换成企业微信数据格式) 再点击‘SparkPackERP-微信数据转换’,添加配置,根据对应字段进行配置如下图所示(左侧为SparkPackERP字段,右侧为企业微信对应字段的ID): 添加完成后再选择该配置 新建执行动作,选择连接器为创建的SparkPackERP连接器,执行动作为“查询user”(先在SparkPackERP配置用户传真名为企业微信账号ID,该步骤用来查询草稿审批发起人的传真名用来对应企业微信审批发起人); 输入参数如图所示 新建执行动作,连接器选择之前创建的OA连接器,执行动作选择“发起审批”; 再根据截图填写对应参数,apply_data为审批申请数据选择转换后的数据,creator_userid则是会以此员工身份提交审批,template_id则是表单ID以全局配置形式方便配置 添加执行动作,选择连接器为“控制”,执行动作为“条件判断”;该步骤为判断是否成功提交审批,对应参数如图所示: 在满足条件分支下添加执行动作,执行动作为“更新单据”;同时创建并且选择一个新的配置如图: 该步骤为将已经同步到企业微信的草稿的U_SyncStatus字段改为Y以免后续重复同步,对应参数如图所示: 确认无误后保存,集成工作台-我的流-找到刚创建的流-开启流 最终API如下图所示: 父主题: 自定义单据场景流
  • 创建采购退货 接口地址 https://api-service.sperp.myhuaweicloud.com/xxx/b1s/v1/PurchaseReturns 接口API功能描述 创建采购退货 调用方式 POST 请求头参数 参数名称 参数说明 Cookie 登录时获取的sessionid,值格式为 “B1SESSION=获取的sessionid” 请求体参数(参考servicelayer接口字段) 响应体参数:(参考servicelayer接口响应字段) 父主题: servicelayer接口
共100000条