华为云用户手册

  • 请求参数 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 主题名称,只能由英文字母、数字、百分号、竖线、中划线、下划线组成,长度3~64个字符。 brokers 否 Array of strings 关联的代理。 queue_num 否 Number 队列数,范围1~50。 缺省值:8 permission 否 String 权限。 缺省值:all message_type 否 String 消息类型(RocketMQ实例5.x版本才包含此参数)。 缺省值:all topics 否 Array of strings 主题列表,当批量删除主题时使用。
  • 请求示例 创建一个主题,关联的代理为broker-0,队列数为3。 POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/topics { "name" : "topic-test", "brokers" : [ "broker-0" ], "queue_num" : 3, "permission" : "all" }
  • 响应示例 状态码: 200 查询单个主题成功。 { "total_read_queue_num" : 3, "total_write_queue_num" : 3, "permission" : "all", "brokers" : [ { "broker_name" : "broker-0", "read_queue_num" : 3, "write_queue_num" : 3 } ], "message_type" : "NORMAL" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 name String topic名称。 total_read_queue_num Number 总读队列个数。 total_write_queue_num Number 总写队列个数。 permission String 权限。 brokers Array of brokers objects 关联的代理。 message_type String 消息类型(RocketMQ实例5.x版本才包含此参数)。 缺省值:all 表3 brokers 参数 参数类型 描述 broker_name String 代理名称。 read_queue_num Number 读队列个数。 write_queue_num Number 写队列个数。
  • 请求示例 创建元数据迁移任务。 POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/metadata { "rabbit_version" : "3.8.35", "rabbitmq_version" : "3.8.35", "product_name" : "RabbitMQ", "product_version" : "3.8.35", "users" : [ { "name" : "root", "password_hash" : "password_hash", "hashing_algorithm" : "rabbit_password_hashing_sha256", "tags" : "administrator", "limits" : { } } ], "vhosts" : [ { "name" : "DeleteVhost123" } ], "permissions" : [ { "name" : "root", "vhost" : "DeleteVhost123", "configure" : ".*", "write" : ".*", "read" : ".*" } ], "topic_permissions" : [ ], "parameters" : [ ], "global_parameters" : [ { "name" : "internal_cluster_id", "value" : "rabbitmq-cluster-id-123" } ], "policies" : [ ], "queues" : [ { "name" : "test-001", "vhost" : "/", "durable" : false, "auto_delete" : false, "arguments" : { } } ], "exchanges" : [ { "name" : "direct", "vhost" : "/", "durable" : false, "auto_delete" : false, "internal" : false, "arguments" : { } } ], "bindings" : [ { "source" : "direct", "vhost" : "/", "destination" : "test-001", "destination_type" : "queue", "routing_key" : "test-001", "arguments" : { } } ] }
  • URI POST /v2/{project_id}/instances/{instance_id}/metadata 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 表2 Query参数 参数 是否必选 参数类型 描述 overwrite 是 String true开启同名覆盖,会对已有的同名元数据的配置进行修改,false时当topic或group已存在则会报错。 name 是 String 迁移任务名称,名称规则参考创建实例 type 是 String 迁移任务类型,分为自建RocketMQ上云(rocketmq)、自建RabbitMQ上云(rabbitToRocket)
  • 响应示例 状态码: 200 查询成功。 { "total" : "3,", "max" : "2000,", "remaining" : "1997,", "next_offset" : "-1,", "previous_offset" : "-1,", "topics" : [ { "name" : "topic-1", "total_read_queue_num" : 3, "total_write_queue_num" : 3, "permission" : "all", "brokers" : [ { "broker_name" : "broker-0", "read_queue_num" : 3, "write_queue_num" : 3 } ], "message_type" : "NORMAL" }, { "name" : "topic-2", "total_read_queue_num" : 3, "total_write_queue_num" : 3, "permission" : "all", "brokers" : [ { "broker_name" : "broker-0", "read_queue_num" : 3, "write_queue_num" : 3 } ], "message_type" : "NORMAL" }, { "name" : "topic-3", "total_read_queue_num" : 3, "total_write_queue_num" : 3, "permission" : "all", "brokers" : [ { "broker_name" : "broker-0", "read_queue_num" : 3, "write_queue_num" : 3 } ], "message_type" : "NORMAL" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Integer topic总数。 max Integer 最大可创建topic数量。 remaining Integer 剩余可创建topic数量。 next_offset Integer 下个分页的offset。 previous_offset Integer 上个分页的offset。 topics Array of Topic objects topic列表。 表4 Topic 参数 参数类型 描述 name String topic名称。 total_read_queue_num Number 总读队列个数。 total_write_queue_num Number 总写队列个数。 permission String 权限。 brokers Array of brokers objects 关联的代理。 message_type String 消息类型(RocketMQ实例5.x版本才包含此参数)。 缺省值:all 表5 brokers 参数 参数类型 描述 broker_name String 代理名称。 read_queue_num Number 读队列个数。 write_queue_num Number 写队列个数。
  • URI GET /v2/{project_id}/instances/{instance_id}/topics 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 查询数量,取值范围为1~50。 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset大于等于0。
  • 请求示例 批量删除RocketMQ实例。 POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete", "instances" : [ "54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea-dbad-4d79-9610-7163e6f8b640" ] } 删除所有创建失败的RocketMQ实例。 POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete", "all_failure" : "reliability" }
  • 响应示例 状态码: 200 查询产品规格列表成功。 { "engine" : "rabbitmq", "versions" : [ "3.8.35" ], "products" : [ { "type" : "single", "product_id" : "c6.2u4g.single", "ecs_flavor_id" : "c6.large.2", "billing_code" : "dms.platinum.c6", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.ultra.v2", "type" : "evs", "available_zones" : [ "xxx" ], "unavailable_zones" : [ "xxx" ] }, { "io_spec" : "dms.physical.storage.high.v2", "type" : "evs", "available_zones" : [ "xxx" ], "unavailable_zones" : [ "xxx" ] } ], "support_features" : [ ], "properties" : { "max_connection_per_broker" : "2000", "max_broker" : "1", "max_queue_per_broker" : "100", "max_storage_per_node" : "30000", "min_broker" : "1", "step_length" : "0", "min_storage_per_node" : "200", "product_alias" : "rabbitmq.2u4g.single" } }, { "type" : "cluster", "product_id" : "c6.4u8g.cluster", "ecs_flavor_id" : "c6.xlarge.2", "billing_code" : "dms.platinum.c6", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "type" : "evs", "available_zones" : [ "xxx" ], "unavailable_zones" : [ "xxx" ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "type" : "evs", "available_zones" : [ "xxx" ], "unavailable_zones" : [ "xxx" ] } ], "support_features" : [ ], "properties" : { "max_connection_per_broker" : "4500", "max_broker" : "7", "max_queue_per_broker" : "400", "max_storage_per_node" : "30000", "min_broker" : "3", "step_length" : "2", "min_storage_per_node" : "100", "product_alias" : "rabbitmq.4u8g.cluster" } } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 engine String 分布式消息服务的产品类型。 versions Array of strings 支持的产品版本类型。 products Array of ListEngineProductsEntity objects 产品规格的详细信息。 表4 ListEngineProductsEntity 参数 参数类型 描述 type String 产品类型。当前产品类型有单机和集群。 product_id String 产品ID。 ecs_flavor_id String 底层资源类型。 billing_code String 账单计费类型。 arch_types Array of strings CPU架构。 charging_mode Array of strings 计费模式。 monthly:包年/包月类型。 hourly:按需类型。 ios Array of ListEngineIosEntity objects 支持的磁盘IO类型列表。 support_features Array of objects 当前规格实例支持的功能特性列表。 properties ListEnginePropertiesEntity object 当前规格实例的属性。 表5 ListEngineIosEntity 参数 参数类型 描述 io_spec String 磁盘IO编码。 type String 磁盘类型。 available_zones Array of strings 可用区。 unavailable_zones Array of strings 不可用区。 表6 ListEnginePropertiesEntity 参数 参数类型 描述 step_length String 节点增长步长。 max_queue_per_broker String 每个Broker的最大对列。 max_connection_per_broker String 每个Broker的最大连接数。 max_partition_per_broker String 每个Broker的最大分区数。 max_broker String Broker的最大个数。 max_storage_per_node String 每个节点的最大存储。单位为GB。 max_consumer_per_broker String 每个Broker的最大消费者数。 min_broker String Broker的最小个数。 max_bandwidth_per_broker String 每个Broker的最大带宽。 min_storage_per_node String 每个节点的最小存储。单位为GB。 max_tps_per_broker String 每个Broker的最大TPS。 product_alias String product_id的别名。
  • 请求示例 批量重启实例。 POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "restart", "instances" : [ "54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea-dbad-4d79-9610-7163e6f8b640" ] } 批量删除实例。 POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete", "instances" : [ "54602a9d-5e22-4239-9123-77e350df4a34", "7166cdea-dbad-4d79-9610-7163e6f8b640" ] } 删除所有创建失败的实例。 POST https://{endpoint}/v2/{project_id}/instances/action { "action" : "delete", "all_failure" : "rabbitmq" }
  • 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 GetResult.body类型 说明 RestoreFailedWorkflowExecutionResponse 参数解释: 响应结果,详见RestoreFailedWorkflowExecutionResponse。 表1 RestoreFailedWorkflowExecutionResponse 参数名称 参数类型 描述 executionUrn str 参数解释: 运行实例的URN 默认取值: 无 restoredAt str 参数解释: 运行实例的恢复启动时间 默认取值: 无 executionName str 参数解释: 运行实例的名字 默认取值: 无
  • 约束与限制 通过快照创建云硬盘时,云硬盘类型、模式、加密属性和快照源云硬盘保持一致。 从快照创建云硬盘时,不支持批量创建,数量只能为“1”。 从快照创建的云硬盘与源云硬盘可用区相同,不支持可用区更改。 开头为“autobk_snapshot_vbs_”、“manualbk_snapshot_vbs_”、“autobk_snapshot_csbs_”、“manualbk_snapshot_csbs_”的快照,是创建备份时系统自动生成的快照。该快照仅支持查看详细信息,无法用于创建云硬盘。 如果先使用快照回滚数据至原云硬盘后,立即再使用该快照创建新的云硬盘,此种情况是不支持的。
  • 使用场景 快照功能可以帮助您实现以下需求: 日常备份数据 通过对云硬盘定期创建快照,实现数据的日常备份,可以应对由于误操作、病毒以及黑客攻击等导致数据丢失或不一致的情况。 快速恢复数据 应用软件升级或业务数据迁移等重大操作前,您可以创建一份或多份快照,一旦升级或迁移过程中出现问题,可以通过快照及时将业务恢复到快照创建点的数据状态。 例如,当由于弹性云服务器A的系统盘A发生故障而无法正常开机时,由于系统盘A已经故障,因此也无法将快照数据回滚至系统盘A。此时您可以使用系统盘A已有的快照新创建一块云硬盘B并挂载至正常运行的弹性云服务器B上,从而弹性云服务器B能够通过云硬盘B读取原系统盘A的数据。 当前通过快照回滚数据,只支持回滚快照数据至源云硬盘,不支持快照回滚到其它云硬盘。 快速部署多个业务 通过同一个快照可以快速创建出多个具有相同数据的云硬盘,从而可以同时为多种业务提供数据资源。例如数据挖掘、报表查询和开发测试等业务。这种方式既保护了原始数据,又能通过快照创建的新云硬盘快速部署其他业务,满足企业对业务数据的多元化需求。
  • 约束与限制 包年/包月的系统盘不支持单独退订,需要跟随弹性云服务器一起退订。 随包年/包月弹性云服务器一同购买或追加购买的包年/包月非共享的数据盘,到期时间与弹性云服务器一致,该数据盘处于“正在使用”、“可用”或“错误”状态时,支持退订弹性云服务器时同时退订数据盘,也可以单独退订包年/包月数据盘。 单独购买的包年/包月共享/非共享数据盘,到期时间与挂载的包年/包月弹性云服务器不一致,支持单独退订包年/包月数据盘。 表1 数据盘退订场景 退订场景 子场景 退订入口 随包年/包月弹性云服务器一同购买的/追加购买的包年/包月非共享数据盘的退订 退订弹性云服务器时,一起退订包年/包月数据盘 退订云服务器 单独退订包年/包月数据盘 在云硬盘页面退订 在弹性云服务器页面退订 随包年/包月弹性云服务器一同购买的/追加购买的包年/包月共享数据盘的退订 单独退订包年/包月数据盘 在云硬盘页面退订 单独购买的包年/包月数据盘的退订 单独退订包年/包月数据盘 在云硬盘页面退订
  • 通过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国家大地坐标系:观测历元的动态坐标,用于导航,强调实时性、动态性。 单击“下一步”,填写用户联系方式:用户名和电话号码。 单击“下一步”,进行配置信息确认。 确认无误后,单击“支付”。
  • 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单据审批同步回写流
共100000条