华为云用户手册

  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。 例如OptVerse服务在“华北-北京四”区域的Endpoint为“optverse.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。 从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 例如,对于创建任务接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxx为project的ID。 POST https//optverse.cn-north-4.myhuawei.com/v2/optverse/regular-plate/tasks Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 例如,在创建任务的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https//optverse.cn-north-4.myhuawei.com/v2/optverse/regular-plate/tasks Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 表3 公共请求消息头 名称 说明 是否必选 示例 Content-Type 发送的实体的MIME类型。 是 application/json; charset=utf-8 X-Auth-Token 用户Token。 是 - AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
  • 示例 请求示例 POST https://{endpoint}/v2/{project_id}/optverse/regular-plate/tasks Request Header: Content-Type: application/json;charset=utf-8 Auth-Token: Body: { "items": [ { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": false, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } }, { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": true, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } } ], "parameters": [ { "calculate_time": 30, "first_cut_direction": 2, "item_backward_trim": 0.0, "item_forward_trim": 0.0, "kerf_horizontal": 4.4, "kerf_vertical": 4.4, "max_stack_height": 80, "plate_trim_horizontal": 10.0, "plate_trim_vertical": 10.0, "time_cost": 200, "max_cut_stage_num": 3, "min_stack_utilization": 0.8, "item_sort_location": false, "item_num_limit": 0 } ], "plates": [ { "plate_grain": true, "plate_id": 0, "plate_length": 2440.0, "plate_material": "18MM_PLATE", "plate_num": 9999, "plate_thick": 18.0, "plate_width": 1220.0, "plate_cost": 100 } ] } 成功响应示例 { "task_id": "40axxxx-701a-47cf-8b56-648xxxxxxd25" } 参数说明如表4所示。 表4 参数说明 参数 参数类型 说明 task_id String 任务ID 失败响应示例 { "error_code": "optverse.00000006", "error_msg": "Input data validate error: the item material is 18MM_PLATE, item_id is 0: Length and width are larger than plate.\n" }
  • 响应参数 表2 响应参数说明 参数 参数类型 说明 error_detail String 如果运行出错会提示 result Object 如果运行正常会在该属性内给出结果 status String 任务运行状态,详情请参见表3 task_id String 任务id result_list Array of objects 切割方案列表 plan_info Array of objects 切割方案的统计信息列表 cut_file String 以字符串形式保存的切割方案文件 plan_name String 此方案序号(根据参数设置可给出多组方案) material_info String 统计信息,详情请参见表4 material_name String 材料名称 problem_id Int 按材料划分的问题序列号 表3 任务状态说明 状态 说明 waiting 在任务队列中,等待执行, 当等待时间超过一定时间,会超时,转为abnormal状态 running 任务正在执行 finished 任务成功运行结束,通过`result`获取结果 failed 任务执行出错,通过`error_detail`获取错误信息 abnormal 任务异常,可能是排队超时,可能是重试次数超时,可能是计算时间超时,通过`error_detail`获取错误信息 表4 统计信息响应参数说明 参数 单位 参数类型 说明 cut_length 米(m) float 切割长度 cut_sum - Int 切割刀数 cut_time 分钟(min) float 锯切时间 item_num - Int 开料件数 material - String 材料 program_num - Int 锯切图数量 run_program_num - Int 运行的锯切图数 rate 百分比(%) float 原材料利用率 sum_area 平方米(m2) float 原材料使用面积 sum_cost - Float 锯切成本 sum_plate_num - Int 原材料使用数量 sum_used_area 平方米(m2) float 原材料利用面积
  • Token认证 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 在应用授权后 获取Token ,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://optverse.cn-north-4.myhuawei.com/v2/optverse/regular-plate/tasks/{task_id} Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 获取Token 单击左侧导航栏“ IAM /获取Token”,选中“Body”配置项,填写用户的iam用户名,密码,domain用户名。 单击右上角“Send”按钮发送请求,在返回的请求头中获取Token值。 注:Token作为调用OptVerse服务的临时凭证,有效期为24h 若涉及二次验证(注:二次认证方式建议使用短信或邮箱验证码),需在“Body”配置项中需添加totp认证信息。 二次验证配置及使用具体可参考获取iam用户token(使用密码+虚拟mfa) 父主题: 调用服务
  • 调用二维切割服务 单击左侧导航栏“Task/方形件/创建任务”,选中“Headers”配置项,复制获取到的ProjectId值到URL处,Token值到“X-Auth-Token”。 单击“Body”,查看已有的简单的输入数据,也可以根据API说明,填入自己的数据。 单击右上角“Send”按钮发送请求,返回异步计算的任务标识task_id,如图 获取task_id所示。 若输入数据错误则会提示错误原因,如图所示。 单击左侧导航栏“Task/方形件/查询任务”,选中“Headers”配置项,Token值到“X-Auth-Token”。 复制步骤3获取的task_id到API路径的末尾,如上图所示。 单击右上角“Send”按钮发送请求,若计算已完成,则返回任务结果: 否则返回任务状态: 父主题: 调用服务
  • 二维异形件服装切割 场景描述 服装切割是指将服装裁片放置在布料上,使得使用的布料最少,以最大化布料利用率。通常情况下,布料的宽度是固定的,优化的目标是最小化使用长度。 准备工作 已注册华为云账号,且账号不能处于欠费或者冻结状态,获取项目ID 获取Token 获取EndPoint 步骤一:导入服装切割数据 使用第三方软件集成服务商(比如ET、BOKE)客户端软件生成服装切割数据文件,上传到华为云服装切割服务。需要至少包含以下字段:排版时间、布料宽度、裁片形状、裁片可旋转角度以及其他排版约束等。 { "input_json": { "id": "fu", "order": "fu", "name": "fu", "time": 1, "gap_mode": 0, "overlap": 0, "fabric": { "width": 38, "grid_x": 0, "grid_y": 0 }, "polygon": [ { "index": 0, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 10.0 ] }, { "index": 1, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 10.0 ] }, { "index": 2, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 9.0, 0.0, 9.0 ] }, { "index": 3, "profile": [ 0.0, 0.0, 14.0, 0.0, 7.0, 7.0 ] }, { "index": 4, "profile": [ 0.0, 9.0, 0.0, 0.0, 14.0, 9.0 ] }, { "index": 5, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 14.0, 0.0, 14.0 ] }, { "index": 6, "profile": [ 0.0, 0.0, 10.0, 4.0, 10.0, 9.0, 0.0, 9.0 ] }, { "index": 7, "profile": [ 0.0, 0.0, 5.0, 0.0, 5.0, 9.0, 0.0, 9.0 ] }, { "index": 8, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 14.0 ] }, { "index": 9, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 14.0 ] }, { "index": 10, "profile": [ 0.0, 8.0, 4.0, 0.0, 8.0, 8.0 ] }, { "index": 11, "profile": [ 0.0, 0.0, 14.0, 0.0, 7.0, 12.0 ] } ], "piece": [ { "id": 0, "polygon_index": 0, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 1, "polygon_index": 1, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 2, "polygon_index": 2, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 3, "polygon_index": 3, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 4, "polygon_index": 4, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 5, "polygon_index": 5, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 6, "polygon_index": 6, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 7, "polygon_index": 7, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 8, "polygon_index": 8, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 9, "polygon_index": 9, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 10, "polygon_index": 10, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 11, "polygon_index": 11, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] } ], "hole": [], "constraints": {} } } 步骤二:查询服装切割结果 待切割排版任务完成后,查询排版结果。华为云服装排版服务将返回json格式排版结果文件,可以通过第三方软件服务商展示排版结果,生成适配切割机的切割文件。 { "task_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "status": "finished", "start_time": "", "end_time": "", "output_json": { "gap_mode": 0, "id": "fu", "length": 14.0, "name": "fu", "order": "fu", "pieces": [ { "angle": 180.0, "box": [ { "x": 1.110223024560533e-16, "y": 188.54000844217342 }, { "x": 10.0, "y": 202.54000844217342 } ], "flip_x": 0, "flip_y": 0, "id": 9 }, { "angle": 90.0, "box": [ { "x": 1.110223024560533e-16, "y": 180.54018862422214 }, { "x": 9.0, "y": 190.54018862422214 } ], "flip_x": 0, "flip_y": 0, "id": 6 }, { "angle": 90.0, "box": [ { "x": 1.1102230246251565e-16, "y": 251.65141900241923 }, { "x": 9.0, "y": 265.65141900241923 } ], "flip_x": 0, "flip_y": 0, "id": 2 }, { "angle": 0.0, "box": [ { "x": 1.110223024560533e-16, "y": 216.54000844217342 }, { "x": 5.0, "y": 225.54000844217342 } ], "flip_x": 0, "flip_y": 0, "id": 7 }, { "angle": 180.0, "box": [ { "x": 1.1101552619893762e-16, "y": 24.0 }, { "x": 8.0, "y": 32.0 } ], "flip_x": 0, "flip_y": 0, "id": 10 }, { "angle": 270.0, "box": [ { "x": 5.551115123125783e-17, "y": 0.0 }, { "x": 10.0, "y": 10.0 } ], "flip_x": 0, "flip_y": 0, "id": 1 }, { "angle": 90.0, "box": [ { "x": 0.0, "y": 10.0 }, { "x": 12.0, "y": 24.0 } ], "flip_x": 0, "flip_y": 0, "id": 11 }, { "angle": 90.0, "box": [ { "x": 1.1102230246251565e-16, "y": 237.65161696798242 }, { "x": 14.0, "y": 251.65161696798242 } ], "flip_x": 0, "flip_y": 0, "id": 5 }, { "angle": 180.0, "box": [ { "x": 1.1102230246251565e-16, "y": 49.51013170928303 }, { "x": 10.0, "y": 59.51013170928303 } ], "flip_x": 0, "flip_y": 0, "id": 0 }, { "angle": 270.0, "box": [ { "x": 1.110223024560533e-16, "y": 202.54000844217342 }, { "x": 7.0, "y": 216.54000844217342 } ], "flip_x": 0, "flip_y": 0, "id": 3 }, { "angle": 270.0, "box": [ { "x": 1.1102230163533504e-16, "y": 25.020263418566074 }, { "x": 9.0, "y": 39.020263418566074 } ], "flip_x": 0, "flip_y": 0, "id": 4 }, { "angle": 0.0, "box": [ { "x": 1.110214554295684e-16, "y": 166.54018862422214 }, { "x": 14.0, "y": 180.54018862422214 } ], "flip_x": 0, "flip_y": 0, "id": 8 } ], "ratio": 1.265e-321, "time": 1 } } 父主题: 使用场景
  • 支持审计的关键操作列表 表1 云审计 服务支持的OptVerse操作列表 操作名称 资源类型 事件名称 创建任务 task createTask 删除任务 task deleteTask 停止任务 task stopTask 用户访问授权 user addUserAccesses 创建应用 app createApp 删除应用 app deleteApp 为应用授权服务 auth authApps 更新应用的授权服务 auth updateAppAuth 更新服务配额 quota updateServiceQuota 创建订单 order createOrder
  • 二维异形件钣金切割 场景描述 钣金切割是指将钣金件放置在钢板上,使得使用的钢板最少,以最大化钢板利用率。 准备工作 已注册华为云账号,且账号不能处于欠费或者冻结状态,获取项目ID 获取Token 获取EndPoint 步骤一:导入钣金切割数据 使用第三方软件集成服务商(比如FastCAM)客户端软件生成钣金切割数据文件,上传到华为云钣金切割服务。需要至少包含以下字段:排版时间、钢板尺寸、钢板个数、钢板修边距、零件距零件间距、是否共线切割,是否容许空洞排版以及其他排版约束等。 { "task_name": "TESTTASK", "project_name": "TESTPRO", "user_id": "user_123456789", "time": 20, "item_spacing": 10, "plate_spacing": 20, "forbid_internal_nesting": 0, "common_cut_nest": 0, "leadin_before_nesting":2, "plates": [ { "plate_id": 0, "plate_name": "", "plate_length": 4000, "plate_width": 4000, "plate_count": 200 } ], "cams": [ { "item_id": 0, "item_name": "d:\rectangle.cam", "count": 2, "priority": 5, "rotation_type": 2, "flip": 0, "pair_collinear": 0, "collinear_entity_id": 0, "entities": [ { "entity_id": 1, "entity_type": 1, "start_x": 0, "start_y": 0, "end_x": 3200, "end_y": 0, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":4, "last_entity":0 }, { "entity_id": 2, "entity_type": 1, "start_x": 3200, "start_y": 0, "end_x": 3200, "end_y": 1600, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":0, "last_entity":3 }, { "entity_id": 3, "entity_type": -2, "start_x": 3200, "start_y": 1600, "end_x": 0, "end_y": 1600, "circle_center_x": 1600, "circle_center_y": 2200, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":2, "last_entity":4 }, { "entity_id": 4, "entity_type": 1, "start_x": 0, "start_y": 1600, "end_x": 0, "end_y": 0, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":3, "last_entity":1 } ] }, { "item_id": 1, "item_name": "d:\rectangle2.cam", "count": 3, "priority": 5, "rotation_type": 2, "flip": 0, "pair_collinear": 0, "collinear_entity_id": 0, "entities":[ { "entity_id": 1, "entity_type": 1, "start_x": 0, "start_y": 0, "end_x": 500, "end_y": 0, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":2, "last_entity":0 }, { "entity_id": 2, "entity_type": 1, "start_x": 500, "start_y": 0, "end_x": 500, "end_y": 500, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":3, "last_entity":1 }, { "entity_id": 3, "entity_type": 1, "start_x": 500, "start_y": 500, "end_x": 0, "end_y": 0, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":0, "last_entity":2 } ] }, { "item_id": 2, "item_name": "d:\rectangle2.cam", "count": 2, "priority": 5, "rotation_type": 2, "flip": 0, "pair_collinear": 0, "collinear_entity_id": 0, "entities":[ { "entity_id": 1, "entity_type": 2, "start_x": 500, "start_y": 0, "end_x": 500, "end_y": 0, "circle_center_x": 0, "circle_center_y": 0, "dxf_name": "", "entry_type": 0, "ifoutside": 1, "next_entity":0, "last_entity":0 } ] } ] , "total_cams":3, } 步骤二:查询钣金切割结果 待切割排版任务完成后,查询排版结果。华为云钣金排版服务将返回json格式排版结果文件,可以通过第三方软件服务商展示排版结果,生成适配切割机的切割文件。 { "task_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "task_type": "test_type", "task_name": "sss", "status": "RUNNING", "created_at": "2018-06-12T13:00:01Z", "updated_at": "2018-06-13T13:00:01Z", "result": { "average_ratio": 0.43922290579330253, "common_cut_nest": 0, "item_spacing": 10.0, "nesting": [ { "item_count": 7, "items": [ { "envelope_rect_center_x": 1605.0000000000018, "envelope_rect_center_y": 1959.4003744920346, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle.cam" }, { "envelope_rect_center_x": 1605.0000000000018, "envelope_rect_center_y": 3570.133437492032, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle.cam" }, { "envelope_rect_center_x": 505.0, "envelope_rect_center_y": 3348.425682497144, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle2.cam" }, { "envelope_rect_center_x": 1136.003821693054, "envelope_rect_center_y": 1105.7330629999974, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle2.cam" }, { "envelope_rect_center_x": 705.1606452469719, "envelope_rect_center_y": 2827.3374108695393, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle2.cam" }, { "envelope_rect_center_x": 1001.5517970744211, "envelope_rect_center_y": 2606.6574946969886, "flip_x": 0, "flip_y": 0, "item_angle": 0.0, "item_name": "d:\rectangle2.cam" }, { "envelope_rect_center_x": 269.9895399372879, "envelope_rect_center_y": 1355.7330629372852, "flip_x": 0, "flip_y": 0, "item_angle": 90.0, "item_name": "d:\rectangle2.cam" } ], "plate_id": 0, "plate_length": 3980.0, "plate_name": "", "plate_ratio": 0.43922290579330253, "plate_width": 3980.0 } ], "plate_count": 1, "plate_spacing": 20.0, "project_name": "TESTPRO", "task_name": "TESTTASK", "time": 20, "total_item_count": 7 } } 父主题: 使用场景
  • 创建/授权子账号 创建iam子账户可以参考以下流程: 1. 鼠标移至右上角用户名处,点击 统一身份认证 2. 进入统一身份认证服务,进入用户列表,点击右上角创建用户 3. 配置用户信息(注:不勾选“编程访问”方式无法获取token调用api接口) 4. 加入用户组(可选,用户组用于管理子用户权限),点击创建用户完成创建 5. 创建用户组(可选),点击左侧菜单用户组后,点击右上角创建用户组 设置用户组名称和描述完成创建 6. 用户组创建成功后,可在用户组对已创建的用户组进行授权 为对应用户组分配对应的权限策略后点击下一步 (权限说明:OptVerse FullAccess拥有所有操作权限包含访问console及task创建;ReadOnlyAccess允许访问console但无法创建task;TaskFullAccess允许创建Task不允许访问console) = 选择授权访问方案,完成用户组授权 7. 用户创建成功后,可在用户列表对已创建的用户进行授权 8. 为子用户添加权限: a. 直接给子用户授权,可在权限策略列表内搜索optverse后选中OptVerse FullAccess权限后点击下一步 指定对应的企业项目后点击确定,完成授权 b. 通过加入用户组,继承用户组拥有的权限策略 父主题: 使用流程
  • 登录华为云账号 使用Chrome浏览器访问系统环境地址:https://console.huaweicloud.com/optverse/?agencyId=053a59ad180026111f2ac011f5934368®ion=cn-north-4&locale=zh-cn#/optverse/overview,出现如下界面, 输入华为云账号用户名和密码,点击“登录”按钮, 登录成功后,进入OptVerse首页界面,如下图所示: 父主题: 华为云账号环境准备
  • 发布消息 向已创建的主题发布消息,根据添加的不同订阅,会出现以下场景。 发布消息详细操作步骤请参见发布主题消息简介。 场景一: 消息属性字段为: { "name": "week", "type": "STRING", "value": [ "sunday" ] } 发送结果:在消息中只规定了消息属性字段中的week字段,而没有规定time字段,因此本条消息不会发送给订阅A和订阅B。 场景二: 消息属性字段为: [ { "name": "week", "type": "STRING", "value": [ "sunday" ] }, { "name": "time", "type": "STRING", "value": [ "night" ] } ] 发送结果:此条消息含义为发送给周日晚上接收消息的订阅者,订阅A和订阅B均不符合条件。因此本条消息不会发送给订阅A和订阅B。 场景三: 消息属性字段为: [ { "name": "week", "type": "STRING", "value": [ "monday" ] }, { "name": "time", "type": "STRING", "value": [ "night" ] } ] 发送结果:此条消息含义为发送给周一晚上接收消息的订阅者,订阅A不符合条件。因此本条消息只发送给订阅B。 场景四: 消息属性字段为: [ { "name": "week", "type": "STRING", "value": [ "sunday" ] }, { "name": "time", "type": "STRING", "value": [ "morning" ] } ] 发送结果:此条消息含义为发送给周日早上接收消息的订阅者,订阅A符合条件,订阅B不符合条件。因此本条消息不会发送给订阅B。 场景五: 消息属性字段为: [ { "name": "week", "type": "STRING_ARRAY", "value": [ "sunday", "monday" ] }, { "name": "time", "type": "STRING_ARRAY", "value": [ "morning", "night" ] } ] 发送结果:此条消息含义为发送给周日或周一的早上或晚上接收消息的订阅者,订阅A和订阅B均符合条件。因此本条消息会发送给订阅A和订阅B。 场景六: 订阅筛选策略字段没有配置。 发送结果:带有任何消息属性的消息不会发送给未配置订阅筛选策略的订阅。
  • 添加订阅 在已创建的主题下添加以下两种订阅。添加订阅详细操作步骤请参见订阅主题。 用户在主题下添加订阅终端A,并且希望在每周周日和周三的早上或下午将 消息通知 给A。则用户可以在创建订阅A时配置如下订阅筛选策略: { "filter_polices": [ { "name": "week", "string_equals": [ "sunday", "wednesday" ] }, { "name": "time", "string_equals": [ "morning", "afternoon" ] } ] } 用户在主题下添加订阅终端B,并且希望在每周周一、周二和周三的晚上或深夜将消息通知给B。则用户在创建订阅B时配置如下订阅筛选策略: { "filter_polices": [ { "name": "week", "string_equals": [ "monday", "tuesday", "wednesday" ] }, { "name": "time", "string_equals": [ "night", "midnight" ] } ] }
  • 使用限制 单账号跟踪的事件可以通过云审计控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 1. 功能介绍 CodeArts IDE面向开发者提供的智能化可扩展桌面 集成开发环境 (IDE),结合行业和产业开发套件,实现一站式开发体验。 编码新体验,开发更高效:内置自研C/C++语言开发支持,提供全新的工程加载、语法着色、符号解析、编码重构和运行调试等开发体验,提升开发效率。 能力可扩展,生态更开放:支持基于插件的能力扩展,开放的插件标准,开源的插件框架,开放的插件市场,形成更加开放的生态系统。 界面可裁剪,体验更优质:支持基于组建的界面剪裁,在精简模式下形成专用工具的优质体验,又可以在需要时升级为全模式的全量IDE工具。 CodeArts IDE for C/C++:基于C/C++语言开发CMake工程,并通过CodeArts IDE完成从工程创建、代码编写、运行调试到发布测试的全过程。基于插件扩展可以将个人开发者作业流集成其中,实现从需求到提交的全部过程,更可在业务中集成提供的的诸多能力,提升应用交付效率。 本实验将指导开发者通过CodeArts IDE for C/C++平台,在本地桌面快速开发一个基于Qt实现的简单项目。通过本实验您将体验到: 如何在CodeArts IDE for C/C++上进行基于CMake项目的本地编译构建; 在CodeArts IDE上调试和运行; 实现一个简单OpenGL demo。
  • 在Flexus L实例 控制台批量续费 登录Flexus应用服务器L实例控制台。 开启“批量操作”按钮,勾选待续费的L实例,单击“续费”进行批量续费。 您也可以使用此方式续费单台L实例。 查看待续费的L实例,单击“确定”。 设置续费配置项,查看配置费用以及续费后的到期时间,单击“去支付”。 续费时长:选择续费时长。 统一到期日:勾选后,设置统一到期日。统一到期日指将包年/包月实例的到期日统一固定为一个月的某一天。 单击“确认”,根据页面提示完成支付。 支付完成后即完成续费。
  • 购买后开通自动续费 登录Flexus应用服务器L实例控制台。 通过如下任意位置开通自动续费功能。 在资源卡片上选择更多操作,单击“开通自动续费”。 单击资源卡片,在概览页右上角单击“开通自动续费”。 开通自动续费后,您可以单击“修改自动续费”修改规则。 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 在“续费管理”页面开通的自动续费,自动续费周期以实际选择的续费时长以及自动续费次数为准。例如,您选择了续费时长3个月,不限次数,表示在每次到期前自动续费3个月。更多关于自动续费的规则介绍请参见自动续费规则说明。 若实例自动续费次数达到预设自动续费次数后,到期自动转为“手动续费”。 手动续费不会影响剩余自动续费次数。
  • 在Flexus L实例控制台单台续费 登录Flexus应用服务器L实例控制台。 Flexus应用服务器L实例有两种续费方式,您可以通过以下任意方式续费。 方式一:在资源卡片上单击“续费”。 方式二:单击资源卡片,在资源管理页面右上角,单击“续费”。 设置续费配置项,查看配置费用以及续费后的到期时间,单击“去支付”。 续费时长:选择续费时长。 统一到期日:勾选后,设置统一到期日。统一到期日指将包年/包月实例的到期日统一固定为一个月的某一天。 单击“确认”,根据页面提示完成支付。 支付完成后即完成续费。
  • 产品计费 Flexus L实例以套餐形式售卖管理, 套餐内资源生命周期跟随Flexus L实例,即套餐内资源不支持和Flexus L实例解除关联关系、套餐内资源统一续费/退订。 Flexus L实例套餐内的资源指在Flexus L实例控制台购买的资源,在云备份、主机安全等服务控制台购买并关联到Flexus L实例的资源不属于Flexus L实例套餐中的资源,支持解除关联并退订或删除。 单独购买的Flexus负载均衡和Flexus L实例配套使用,不属于Flexus L实例套餐内资源,可以和Flexus L实例解除关联关系并退订。 Flexus L实例仅支持包年包月计费模式,套餐外的超额流量采用按流量计费方式。更多信息详见计费说明概述。
  • 产品区别 华为云Flexus云服务包括Flexus L实例和Flexus X实例两种服务器,同时华为云还提供了弹性云服务器(E CS ),三种服务器区别为: Flexus L实例是一款多服务组合的应用服务器,组合了云服务器、云硬盘、弹性公网IP、云备份、主机安全等服务,以套餐形式整体售卖、管理,并且提供了丰富严选的应用镜像,可快速搭建业务环境。Flexus L实例购买、配置简单,适合刚接触云计算领域的初级用户。 Flexus X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,功能接近ECS, 同时还具备独有特点,例如Flexus X实例具有更灵活的vCPU内存配比、支持性能模式等。Flexus X实例相较于Flexus L实例提供了非常丰富的公共镜像,实例规格和功能使用更为灵活,负载范围更高。 ECS是一款支持高负载应用场景的服务器,提供多种计费模式、规格类型、镜像类型、磁盘类型,针对不同的业务场景,均可自定义配置。 Flexus L实例、Flexus X实例、ECS的详细区别详见Flexus L实例、Flexus X实例与ECS的区别是什么?
  • 应用场景 Flexus L实例适用于支撑小型网站、Web应用、博客、论坛、云端开发环境等轻量级、低负载且访问量适中的应用场景。 电商店铺管理:快速搭建外贸独立站、店铺管理环境,为海内外顾客提供稳定、优质的服务。 建站:提供常用建站类应用模板,快速构建满足业务诉求的网站,如企业官网、资讯、博客、论坛、电商等。 小程序后台:适合于构建微信小程序以及公众号后台服务,降低维护成本,让用户专注于业务开发。 小游戏:帮助客户搭建PC单机游戏、休闲小游戏等,快速上线,性能稳定。 开发测试:适合云端构建即开即用的远程开发、测试项目,运行定时任务、自动任务等。 云端学习:帮助学生、开发者在云端做一些实验、论文等。 搭建博客/论坛:方便个人开发者搭建博客、论坛,性价比高。
  • 产品简介 华为云Flexus云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。Flexus应用服务器L实例是华为云Flexus云服务的一款云服务器产品。 Flexus应用服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量级应用服务器。Flexus应用服务器L实例提供丰富严选的应用镜像,实现应用一键部署,适用于网站搭建、开发测试环境、企业应用、网站分析、音视频服务等中低负载场景。具有易搭建、更实惠、易维护、更安全的特点。 Flexus应用服务器L实例使用门槛较低,如果您是正在了解云计算服务的入门用户,或是需要在服务器中部署简单应用的个人开发者、中小企业,那么推荐您选择Flexus应用服务器L实例。 在Flexus应用服务器L实例文档中,“Flexus应用服务器L实例”简称为“Flexus L实例”。
  • 资源配置 Flexus L实例组合云服务器、云硬盘、弹性公网IP、云备份、主机安全等服务,具备计算、网络、存储、镜像安装、备份等能力。Flexus L实例的资源配置见下表,更多资源规格信息详见实例规格。 资源 说明 云主机 云主机为Flexus L实例套餐中的云服务器,云主机为X86架构、KVM虚拟化类型。云主机底层使用的物理硬件资源与ECS一致,同vCPUs、内存的云主机与ECS计算能力在同一标准。 镜像 Flexus L实例提供系统镜像和应用镜像供您选择,同时支持私有镜像。 网络 Flexus L实例默认分配一个固定的公网IP地址,并包含月度流量包。 Flexus L实例默认分配一个固定的私网地址(网段为192.168.x.x)。 云硬盘 云硬盘为Flexus L实例服务存储数据。 云备份 云备份为Flexus L实例中的所有云硬盘(系统盘和数据盘)进行整体备份,您可以利用备份恢复Flexus L实例数据。 主机安全 主机安全通过入侵检测、漏洞管理、基线检查功能,可识别并管理云主机中的信息资产,实时监测云主机中的风险,降低云主机被入侵的风险。 云监控 购买Flexus L实例后,Flexus L实例默认开启 云监控服务 ,支持监控Flexus L实例中的云主机、云硬盘、云备份资源。 Flexus负载均衡 Flexus负载均衡将访问流量根据分配策略分发到后端多台Flexus L实例。Flexus负载均衡可以通过流量分发扩展应用系统对外的服务能力,同时通过消除单点故障提升应用系统的可用性。
  • 云耀云服务器HECS和弹性 云服务器ECS 有什么区别? HECS与ECS区别概述 云耀云服务器:适用于中低负载业务场景,与弹性云服务器相比,云耀云服务器简化了购买ECS过程中的一些高级配置,一站式融合购买、登录、磁盘配置、网络配置、云监控、主机安全等多种功能,帮助您更加便捷高效的部署、配置和管理应用。 弹性云服务器:提供多种计费模式、规格类型、镜像类型、磁盘类型,针对不同的业务场景,自定义配置弹性云服务器。 HECS底层使用的物理硬件资源与ECS一致,同CPU、内存的HECS与ECS计算能力在同一标准。 高负载应用场景推荐使用ECS,性能更稳定。 HECS与ECS的购买和配置区别详见下表 表1 云耀云服务器与弹性云服务器的购买和配置区别 产品优势 特点 云耀云服务器 HECS 弹性云服务器 ECS 更轻量的业务场景 适用的场景 适用于网站搭建、开发测试环境、企业应用等低负载应用场景。 全业务场景,典型场景有:网站应用、企业电商、图形渲染、数据分析、高性能计算等高负载应用场景。 更优惠的计费方式 计费模式 包年/包月 包年/包月 按需计费 竞价计费 规格 按套餐售卖,提供多种vCPUs | 内存比的套餐类型。 分为入门型、基本型、进阶型,或自定义配置HECS的规格。 多种规格实例类型和规格。 ECS实例类型 推荐参考ECS智选推荐。 磁盘 购买HECS时,以控制台套餐实际情况为准。 新增磁盘支持如下磁盘类型: 高IO 超高IO 支持选择多种磁盘类型。 弹性云服务器支持使用的磁盘类型,请参见云硬盘。 网络 自动分配弹性公网IP。 购买HECS时如果选择的是自定义配置,带宽类型选择“暂不配置”,那么支持在购买完成后挂载弹性公网IP。 默认BGP,以控制台套餐实际情况为准。 带宽类型为按带宽计费。 自定义是否绑定弹性公网IP。 线路类型可选。 带宽类型分为按带宽计费、按流量类计费、共享带宽。 更简单的使用体验 产品优势 易搭建、更实惠、易维护、更安全 稳定可靠、安全保障、软硬结合、弹性伸缩 镜像 创建HECS:公共镜像、市场镜像,基本覆盖主流应用场景,满足用户基本需求。 镜像种类、数目丰富,包括:公共镜像、私有镜像、共享镜像、市场镜像。 鉴权方式 密码。 密码、密钥对。 集成的云产品 主机安全 云监控(支持在HECS控制台设置告警规则) 主机安全 云监控 集成的应用管理 以高频使用的功能为例: CloudShell登录Linux云服务器。 磁盘挂载、扩容、新增。 安全组配置。 添加网卡、删除网卡、切换VPC。 支持查看各区域HECS资源分布。 应用搭建指导。 以高频使用的功能为例: CloudShell登录Linux云服务器。 磁盘挂载、扩容、新增。 安全组配置。 添加网卡、删除网卡、切换VPC。 支持查看各区域ECS资源分布。 父主题: 高频问题
  • Windows操作系统 远程登录Windows操作系统的HECS一般需要做好如下准备工作。 获取云服务器登录密码。 使用公共镜像、市场镜像创建的云服务器,默认已经安装一键式重置密码插件。 确保云服务器绑定弹性公网IP(仅VNC方式不要求)。 HECS购买时默认绑定弹性公网IP。 确保云服务器已开启远程桌面协议(MSTSC方式、通过RDP文件登录等方式要求)。 安全组入方向开放3389端口(仅VNC方式不要求)。
  • 前提条件 准备一台Linux操作系统的临时云服务器,建议操作系统为Ubuntu14.04以上版本,且该临时云服务器与待重置密码的云服务器位于同一个可用区。 临时云服务器已经绑定弹性公网IP,并配置系统apt-get源。 通过下面的方法,在临时云服务器中安装ntfs-3g和chntpw软件包。 方法一: 执行以下命令,安装ntfs-3g和chntpw软件包。 sudo apt-get install ntfs-3g chntpw 方法二: 根据临时云服务器的操作系统版本,下载对应版本的ntfs-3g和chntpw软件包进行安装。
  • 排查思路 VNC方式登录云服务器正常,但无法通过远程桌面连接方式登录云服务器时,我们推荐您按照以下思路排查问题。 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图2 无法连接Windows实例排查思路 表1 无法连接Windows实例排查思路 可能原因 处理措施 资源状态异常:资源冻结;未开机。 只有状态为“运行中”的云服务器才允许用户登录,详细操作请参考检查资源状态是否正常。 登录使用的用户名称或密码错误。 Windows实例用户名:Administrator,密码错误通过“重置密码”重新设置登录密码。详细操作请参考检查登录凭证。 云主机负载过高。 带宽和CPU利用率过高可能会导致服务器无法登录,详细操作请参考检查云服务器负载是否过高。 未绑定弹性公网IP。 使用RDP文件、远程桌面连接方式(MSTSC方式)登录要求云服务器已绑定弹性公网IP。详细操作请参考检查云服务器是否绑定弹性公网IP。 互联网运营商的劫持或者封堵。 更换手机热点或其他网络测试是否可以正常访问,详细操作请参考检查网络是否正常。 防火墙拦截。 测试防火墙关闭后是否可以正常连接,详细操作请参考检查防火墙配置是否正常。 安全组和云服务器的登录端口配置不正确。 检查安全组和云服务器是否放通远程登录端口。详细操作请参考检查端口配置是否正常。 配置了SSH登录IP白名单。 检查开启主机安全服务后是否配置了SSH登录IP白名单。检查SSH登录IP白名单(已启用主机安全服务) 检查云服务器的远程桌面协议。 确保云服务器已开启远程桌面协议(仅RDP文件、MSTSC方式要求)。详细操作请参考检查云服务器的远程桌面协议。 第三方杀毒软件的阻拦。 禁用或者卸载第三方杀毒软件后重试,详细操作请参考检查是否为杀毒软件拦截。 连接实例有详细的报错信息提示。 远程连接有报错信息提示时,请根据详细报错信息查看操作指导。详细操作请参考远程登录是否有报错信息。
共100000条