云服务器内容精选

  • 调用求解器服务 1. 用户需要进入华为云统一身份认证,点击创建委托 图1 进入统一认证身份服务 图2 创建委托 2. 在委托名称框内填入“oroas_admin_trust”,委托类型选择普通账号,委托账号框填入”op_svc_oroas_container0”,点击下一步; 搜索obs选中“OBS OperateAccess”策略,点击下一步;默认选择所有资源,点击确定。 图3 填写委托 图4 选择策略 图5 设置最小权限 3. 进入华为云OBS服务,用户首次使用需要创建桶 图6 进入OBS服务 图7 创建桶 4. 创建完成后,在列表内点击用户创建的桶名称,进入对象列表,用户需要新建文件夹(求解器以oroas-optvsolver为例)来存放输入输出数据 图8 创建文件存放路径 5. 点击进入新建文件夹(以oroas-optvsolver为例),继续新建输入输出文件夹 图9 创建输入输出路径 6. 进入输入文件夹(以input为例),用户可以上传模型对象、 图10 上传模型文件 7. 创建求解器任务,单击左侧导航栏“OptVerse-solver-AddTask”,选中“Headers”配置项,复制获取到的ProjectId值到URL处,AppCode值到“X-Apig-AppCode”。 8. 单击“Body”,在input对象内的bucket参数填入用户将新建的桶名称,object填入用户上传的模型文件路径;在output对象内的object填入输出文件路径。 9. 单击右上角“Send”发送请求,返回异步计算的任务标识task_id。 10. 若请求失败,则返回错误码及对应的错误信息说明,详细错误码信息请参见《天筹求解器OptVerse常见问题》中的“调用OptVerse的API失败时怎么处理?”。 11. 查询求解器任务,单击左侧导航栏“OptVerse-solver-QueryTask”,选中“Headers”配置项,复制AppCode值到“X-Apig-AppCode”,复制步骤9获取的task_id到API路径的末尾。 12. 单击右上角“Send”按钮发送请求,返回任务结果: 父主题: 调用服务
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 运筹优化算法服务的终端节点如表1所示,请您根据业务需要选择对应区域的终端节点。 表1 运筹优化算法服务的终端节点 区域名称 区域 终端节点(Endpoint) 部署服务 华北-北京四 cn-north-4 optverse.cn-north-4.myhuaweicloud.com 二维切割,求解器 父主题: 使用前必读
  • 响应参数 表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 原材料利用面积
  • AppCode认证 AppCode认证就是在调用API的时候将AppCode加到请求消息头,从而通过身份认证,获得操作API的权限。 在应用授权后获取AppCode,再调用其他接口时,您需要在请求消息头中添加“X-APIG-AppCode”。例如AppCode值为“ABCDEFJ....”,则调用接口时将“X-APIG-AppCode: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://optverse.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-APIG-AppCode: ABCDEFJ....
  • 响应示例 成功响应示例 { "total": 1, "count": 1, "tasks": [ { "task_id": "40axxxxx-701a-47cf-8b56-648xxxxxxx25", "status": "running", "result": {}, "error_detail": null } ] }
  • 支持审计的关键操作列表 表1 云审计服务支持的OptVerse操作列表 操作名称 资源类型 事件名称 创建任务 task createTask 删除任务 task deleteTask 停止任务 task stopTask 用户访问授权 user addUserAccesses 创建应用 app createApp 删除应用 app deleteApp 为应用授权服务 auth authApps 更新应用的授权服务 auth updateAppAuth 更新服务配额 quota updateServiceQuota 创建订单 order createOrder
  • 调用二维切割服务 单击左侧导航栏“OptVerse-2dcut-AddTask”,选中“Headers”配置项,复制获取到的ProjectId值到URL处,AppCode值到“X-Apig-AppCode”。 单击“Body”,查看已有的简单的输入数据,也可以根据API说明,填入自己的数据。 单击右上角“Send”按钮发送请求,返回异步计算的任务标识task_id,如图 获取task_id所示。 若输入数据错误则会提示错误原因,如图所示。 单击左侧导航栏“OptVerse-2dcut-QueryTask”,选中“Headers”配置项,复制AppCode值到“X-Apig-AppCode”。 复制步骤3获取的task_id到API路径的末尾,如上图所示。 单击右上角“Send”按钮发送请求,若计算已完成,则返回任务结果: 否则返回任务状态: 父主题: 调用服务
  • 操作步骤 登录云审计服务控制台。 单击左侧导航树的“事件列表”,进入事件列表信息页面。 事件列表支持通过筛选来查询对应的操作事件。当前事件列表支持四个维度的组合查询,详细信息如下: 事件来源、资源类型和筛选类型。 在下拉框中选择查询条件。 其中筛选类型选择事件名称时,还需选择某个具体的事件名称。 选择资源ID时,还需选择或者手动输入某个具体的资源ID。 选择资源名称时,还需选择或手动输入某个具体的资源名称。 操作用户:在下拉框中选择某一具体的操作用户,此操作用户指用户级别,而非租户级别。 事件级别:可选项为“所有事件级别”、“normal”、“warning”、“incident”,只可选择其中一项。 时间范围:可选择查询最近七天内任意时间段的操作事件。
  • 响应结果示例 { "task_id": "344fxxxx-0xxx-4xxx-a248-ce26cff7xxxx", "input_json": null, "obs_input_url": { "bucket": "example_bucket",, "object": " path/to/input/example.mps " }, "obs_output_url": { "bucket": "example_bucket",, "object": "path/to/output/344fd304-0937-4d25-a248-ce26cff78388_completeResult.sol" }, "status": "Running", "progress": null, "output_json": null, "output_file_base64": null, "start_time": "2023-00-00T07:19:35Z", "end_time": null, "create_time": "2023-00-00T07:19:33.607Z" }
  • 响应参数 状态码: 200 创建成功响应信息 参数 参数类型 是否必选 描述 task_id sring 是 任务id input_json string 是 求解器不涉及 obs_input_url 表6 是 求解器输入文件路径 obs_output_url 表7 是 求解器输出文件路径 status string 是 任务状态,包括: Pending:任务等待处理中(排队中) Running:任务正在运行 Failed:任务失败 Succeeded:任务成功 progress string 是 返回求解器日志。求解状态在日志最后显示,可能的状态包括: - Unknown: 未知状态,可能处于问题读取过程中,或其他未定义状态 - Time limit reached: 达到时间上限 - Memory limit reached: 达到宿主机内存上限 - Optimal solution found: 找到最优解(或达到目标gap) - Problem is infeasible: 问题不可行 - Problem is unbounded: 问题无边界 - Problem is infeasible or unbounded: 问题不可行或无边界 output_json string 是 求解器服务不涉及 output_file_base64 string 是 求解器服务不涉及 start_time String 是 任务开始执行时间 end_time String 是 任务结束时间 create_time String 是 任务创建时间
  • 请求参数 备注:公测阶段以下信息由华为云提供 表1 请求参数 名称 类型 IN 必选 描述 X-Apig-AppCode string header 是 用户凭证 project_id string path 是 项目ID service_group string path 是 服务类别,针对不同服务类场景, 用户侧不需单独赋值 service_type string path 是 子服务类型,针对不同服务, 用户侧不需单独赋值 task_id string path 是 待查询任务id
  • 示例 请求示例 POST https://{endpoint}/v1/{project_id}/optverse/2dcut/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" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 task_id String 任务编号。 input_json String 输入数据,当前为null obs_input_url String Obs桶中输入文件地址,当前为null obs_output_url String Obs桶中输出文件地址,当前为null status String 任务运行状态。(Pending,Running, Failed, Succeeded) progress String 任务进度,当前为null output_json Array of 表4 objects 任务处理结果,json格式,任务状态为finished时携带。具体数据结构参见IrregularTextileResultDetail output_file_base64 String 当前为null start_time String 任务开始时间 end_time String 任务结束时间 create_time String 任务创建时间 表4 IrregularTextileResultDetail 参数 参数类型 描述 id String 任务编号。 time Double 任务运行时长,单位秒。 ratio Double 排版利用率 order String 订单名。 length Double 使用面料长度。 pieces Array of 表5 objects 裁片排版位置定义。 表5 Piece 参数 参数类型 描述 id String 裁片id。 angle Double 裁片旋转角度。 flip_x Integer 裁片是否沿x轴翻转。 flip_y Integer 裁片是否沿y轴翻转。 box Array of 表6 objects 裁片先旋转再翻转后放入指定位置形成的包络矩形,由矩形左底点和右上点表示。 表6 box 参数 参数类型 描述 x Double 二维点x轴坐标。 y Double 二维点y轴坐标。
  • 请求Body体示例 { "input_json": { "parameters": [ { "name": "timeLimit", "value": 60.0 }, { "name": "gap", "value": 0.0 } ] }, "obs_input_url": { "bucket": "example_bucket", "object": "path/to/input/example.mps" }, "obs_output_url": { "bucket": " example_bucket ", "object": "path/to/output" } }
  • 请求参数 备注:公测阶段以下信息由华为云提供 表1 请求参数 名称 类型 IN 必选 描述 X-Apig-AppCode string header 是 用户凭证 project_id string path 是 项目ID service_group string path 是 服务类别,针对不同服务类场景, 用户侧不需单独赋值 service_type string path 是 子服务类型,针对不同服务, 用户侧不需单独赋值 备注:以下信息由用户提供 表2 请求Body参数 名称 类型 必选 描述 input_json 表3 是 任务输入信息,json格式;每个子服务该对象结构不同 obs_input_url 表6 是 任务输入信息为文件格式,传入值为租户OBS对应的文件绝对路径,用户需保证求解器服务有该路径的读写权限。输入内容为标准数学模型文件,支持.lp、.mps、.mps.gz格式 obs_output_url 表7 否 任务输出信息为文件格式,传入值为租户OBS对应的待存储路径前缀(和input_url成对使用),文件名服务端固定用task_id命名。输出格式为.sol格式 备注:以下信息由用户提供 表3 input_json 名称 类型 必选 描述 parameters 表4 否 任务输入信息,json格式;每个子服务该对象结构不同。置空则代表使用默认参数 备注:以下信息由用户提供 表4 parameters 名称 类型 必选 描述 name string 是 求解器参数名称 value int/double 是 求解器参数值 公测阶段求解器开放参数如下: 表5 parameters 名称 类型 必选 描述 method int 否 求解算法。[0,2] 0:自动选择,默认值 1:原始单纯形法 2:对偶单纯形法 timeLimit double 否 求解时间上限,单位为秒。取值范围[0.0, 1e+20](1e+20) gap double 否 仅对MIP问题有效。[0, 1],默认值为0.0 表6 obs_input_url 名称 类型 必选 描述 bucket string 是 输入数据obs桶名 object string 是 输入数据绝对路径 表7 obs_output_url 名称 类型 必选 描述 bucket string 是 输出数据obs桶名 object string 是 输出数据绝对路径