华为云用户手册

  • 创建桶 桶名没有特殊要求,您只需要按照界面提示的命名规则创建一个桶用于存储静态网站文件。此处以创建一个桶名称为example的桶为例,其具体操作步骤如下: 打开OBS管理控制台,根据页面提示进行登录。 在页面上方单击“创建桶”。 在弹出的对话框中配置以下参数。 区域:根据就近原则选择离业务较近的区域。 默认存储类别:推荐选择“标准存储”。 您也可以根据网站的访问频率以及对响应速度的要求,选择“低频访问存储”或“归档存储”。存储类别详细介绍请参见桶存储类别简介。 桶名称:输入“example”。 桶策略:选择“公共读”使桶内对象能够被任何用户访问。 服务端加密:选择“不开启加密”。 企业项目:请先创建企业项目,默认为default企业项目,然后在创建桶时选择对应企业项目。仅企业账号能够配置企业项目。 单击“立即创建”,完成桶创建。
  • 安全组规则修改(可选) 该解决方案默认只创建ping安全组规则,用户需在登录弹性云服务器前添加入方向规则。比如登录Windows弹性云服务器,指定登录端口为3389,并添加白名单IP。 安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。 如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。
  • 请求示例 GET https://IP:PORT/v1/external/incident/handle Request Headers: Content-Type: application/json X-Auth-Token: MI*******ghkgB { "incident_num":"IM202403221515060171753781", "operator":"7da46971b7e24eed90cf777cc2ff8b91", "operate_key":"confirm", "parameter":{ "virtual_confirm_result": false, "virtual_confirm_comment": "13" } }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000,请求成功 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000 状态码: 400 表3 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000
  • 请求示例 GET https://IP:PORT/v1/external/incident/create Request Headers: Content-Type: application/json X-Auth-Token: MI*******ghkgB Request Body: { "region": [ "cn-southwest-252" ], "enterprise_project": [ "ab080d9f-6b97-4e73-8679-b6d76057f274" ], "current_cloud_service": [ "65659ae2f42bf80e5f3f0635" ], "incident_level": "level_50", "is_service_interrupt": "true", "incident_type": "inc_type_p_security_issues", "incident_title": "测试时间单号10001", "incident_description": "测试时间单号10001", "incident_source": "incident_source_manual", "incident_assignee": ["7da46971b7e24eed90cf777cc2ff8b91"], "creator": "7da46971b7e24eed90cf777cc2ff8b91", "assignee_scene": "", "assignee_role": "" }
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 region 否 Array of strings 区域Code,如果自动拉起WarRoom则为必填,现在只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 enterprise_project 否 Array of strings 企业项目ID,当前只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 current_cloud_service 是 Array of strings 归属应用ID,当前只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 incident_level 是 String 事件级别 参考:枚举 事件级别incident_level 最小长度:0 最大长度:255 is_service_interrupt 是 Boolean 业务是否中断,取值:true/false 枚举值: true false incident_type 是 String 事件类别 参考:枚举 事件类别incident_type 最小长度:0 最大长度:255 incident_title 是 String 事件标题,最大长度:200 最小长度:0 最大长度:200 incident_description 是 String 事件描述,最大长度:600 最小长度:0 最大长度:600 incident_source 是 String 单据来源 参考:枚举 事件来源incident_source 最小长度:0 最大长度:255 incident_assignee 否 Array of strings 责任人,排班场景和排班角色(排班场景和排班角色是作为组合项)不能同时为空,必须选择一个 最小长度:0 最大长度:255 数组长度:0 - 1 assignee_scene 否 String 排班场景,排班场景和排班角色(排班场景和排班角色是作为组合项)不能同时为空,必须选择一个最小长度:0 最大长度:255 assignee_role 否 String 排班角色,依赖排班场景 最小长度:0 最大长度:255 creator 是 String 创单人 最小长度:0 最大长度:255 incident_assignee(责任人)和assignee_scene(排班场景)、assignee_role(排班角色)必须填写其中一个。如果填写了incident_assignee,可不用填写assignee_scene和assignee_role,assignee_scene和assignee_role是捆绑在一起的。
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000 data CreateExternalIncidentResponseData object data 表3 CreateExternalIncidentResponseData 参数 参数类型 描述 incident_num String 事件单号 最小长度:0 最大长度:255 状态码: 400 表4 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000
  • 响应示例 { "provider_code": "049", "error_code": "GOM.00000000", "error_msg": null, "data": { "incident_num": "IM202403181322030178042608", "region": [ "" ], "enterprise_project": [ "0" ], "current_cloud_service": [ "6470681a31da2a47ed50a919" ], "incident_level": "level_50", "is_service_interrupt": true, "incident_type": "inc_type_p_function_issues", "incident_title": "tet", "incident_description": "25819b46251b46218bf6ad238ddd860c", "incident_source": "incident_source_manual", "incident_assignee": [ "25819b46251b46218bf6ad238ddd860c" ], "assignee_scene": "", "assignee_role": "", "warroom_id": "WR202403181334366050100030", "handle_time": null, "status": "INCIDENT_STATUS_ACKNOWLEDGED", "create_time": 1710739323172, "creator": "1", "enum_data_list": [ { "filed_key": "current_cloud_service_id", "enum_key": "6470681a31da2a47ed50a919", "name_zh": "COC", "name_en": "COC" }, { "filed_key": "creator", "enum_key": "25819b46251b46218bf6ad238ddd860c", "name_zh": "coc-cim-user", "name_en": "coc-cim-user" }, { "filed_key": "level_id", "enum_key": "level_50", "name_zh": "P5", "name_en": "P5" }, { "filed_key": "work_flow_status", "enum_key": "INCIDENT_STATUS_ACKNOWLEDGED", "name_zh": "已受理", "name_en": "ACKNOWLEDGED" }, { "filed_key": "mtm_type", "enum_key": "inc_type_p_function_issues", "name_zh": "功能问题", "name_en": "function issues" }, { "filed_key": "source_id", "enum_key": "incident_source_manual", "name_zh": "人工创建", "name_en": "Manual Creation" }, { "filed_key": "assignee", "enum_key": "25819b46251b46218bf6ad238ddd860c", "name_zh": "coc-cim-user", "name_en": "coc-cim-user" } ] } }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000 data IncidentTicketInfoResponseData object data 表3 IncidentTicketInfoResponseData 参数 参数类型 描述 incident_num String 事件单号 最小长度:0 最大长度:255 region Array of strings 区域Code,如果自动拉起WarRoom则为必填,当前只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 enterprise_project Array of strings 企业项目ID,当前只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 current_cloud_service Array of strings 归属应用ID,当前只支持1个 最小长度:0 最大长度:255 数组长度:0 - 1 incident_level String 事件级别 参考:枚举 事件级别incident_level 最小长度:0 最大长度:255 is_service_interrupt Boolean 业务是否中断,取值:true/false 枚举值: true false incident_type String 事件类别 参考:枚举 事件类别incident_type 最小长度:0 最大长度:255 incident_title String 事件标题,最大长度:200 最小长度:0 最大长度:200 incident_description String 事件描述,最大长度:600 最小长度:0 最大长度:600 incident_source String 单据来源 参考:枚举 事件来源incident_source 最小长度:0 最大长度:255 incident_assignee Array of strings 责任人 最小长度:0 最大长度:255 数组长度:0 - 1 assignee_scene String 排班场景 最小长度:0 最大长度:255 assignee_role String 排班角色 最小长度:0 最大长度:255 warroom_id String warroom_id 最小长度:0 最大长度:255 handle_time Long 最后一次提交解决方案时间戳 最小值:1 最大值:9999999999 status String 状态KEY,参考:枚举 事件状态 最小长度:0 最大长度:255 create_time Long 创单时间戳 最小值:0 最大值:999999999 creator String 创单人 最小长度:0 最大长度:255 enum_data_list Array of TicketInfoEnumData objects 枚举列表 数组长度:0 - 100000000 表4 TicketInfoEnumData 参数 参数类型 描述 filed_key String 字段KEY 标识哪个字段 最小长度:0 最大长度:255 enum_key String 枚举KEY 最小长度:0 最大长度:255 name_zh String 中文名称 最小长度:0 最大长度:255 name_en String 英文名称 最小长度:0 最大长度:255 状态码: 400 表5 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000
  • 请求示例 POST https://IP:PORT/v1/external/incident/handle Request Headers: Content-Type: application/json X-Auth-Token: MI*******ghkgB Request Body: { "incident_num":"IM202403221515060171753781", "operator":"7da46971b7e24eed90cf777cc2ff8b91", "operate_key":"acceptedIncident1", "parameter":{} }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000 状态码: 400 表3 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000 请求成功 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000 状态码: 400 表3 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:049 最小长度:3 最大长度:100000000 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 缺省值:GOM.00000000,错误编码 最小长度:1 最大长度:100000000 error_msg String 请求响应描述 最小长度:0 最大长度:100000000
  • 请求示例 GET https://IP:PORT/v1/external/incident/handle Request Headers: Content-Type: application/json X-Auth-Token: MI*******ghkgB Request Body: { "incident_num":"IM202403221515060171753781", "operator":"7da46971b7e24eed90cf777cc2ff8b91", "operate_key":"commitSolution1", "parameter":{ "mtm_type": "inc_type_p_config_issues", "is_service_interrupt": true, "cause": "100001", "solution": "20001" } }
  • URI GET /v1/resources 表1 Query参数 参数 是否必选 参数类型 描述 resource_id_list 否 Array 资源id列表 provider 是 String 云服务名称 type 是 String 资源类型名称 limit 是 Integer 最大的返回数量 marker 否 String 分页参数,通过上一个请求中返回的marker信息作为输入,获取当前页
  • 响应示例 状态码: 200 节点合规性报告信息 { "count" : 1, "instance_compliant" : [ { "baseline_id" : "JX-f2d85e2554f7385cbbf2c23a01f41", "baseline_name" : "COC-EulerOSDefaultPatchBaseline", "cce_info_id" : null, "compliant_summary" : { "compliant_count" : 264, "severity_summary" : { "critical_count" : 0, "high_count" : 0, "informational_count" : 0, "low_count" : 0, "medium_count" : 0, "unspecified_count" : 264 } }, "eip" : null, "enterprise_project_id" : "string", "execution_summary" : { "job_id" : "string", "order_id" : "string", "report_time" : 1715308575000 }, "group" : null, "id" : "string", "instance_id" : "string", "ip" : "string", "name" : "string", "node_id" : "", "non_compliant_summary" : { "non_compliant_count" : 204, "severity_summary" : { "critical_count" : 0, "high_count" : 0, "informational_count" : 0, "low_count" : 0, "medium_count" : 0, "unspecified_count" : 0 } }, "operating_system" : "EulerOS", "region" : "string", "report_scene" : "E CS ", "rule_type" : "standard", "status" : "non_compliant" } ] } 状态码: 500 错误信息返回 { "error_code" : "string", "error_msg" : "string" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 count Long 总条数 instance_compliant Array of InstanceCompliant objects 节点合规报告 数组长度:0 - 1000 表3 InstanceCompliant 参数 参数类型 描述 compliant_summary CompliantSummary object 合规补丁信息 non_compliant_summary NonCompliantSummary object 不合规补丁信息 execution_summary ExecutionSummary object 执行信息 id String id enterprise_project_id String 企业项目id name String 节点名称 instance_id String 节点ID node_id String cce集群节点ID ip String 节点IP eip String 弹性公网ip region String 区域 group String 分组 report_scene String 报告场景(CCE,ECS) cce_info_id String cce 集群信息id status String 合规性状态 baseline_id String 基线id baseline_name String 基线名称 rule_type String 基线规则类型 operating_system String 操作系统 表4 CompliantSummary 参数 参数类型 描述 compliant_count Integer 合规补丁数量 severity_summary SeveritySummary object 合规总结 表5 NonCompliantSummary 参数 参数类型 描述 non_compliant_count Integer 不合规补丁数量 severity_summary SeveritySummary object 合规总结 表6 SeveritySummary 参数 参数类型 描述 critical_count Integer 重大合规性报告数量 high_count Integer 高合规性报告数量 informational_count Integer 信息性合规性报告数量 low_count Integer 低合规性报告数量 medium_count Integer 中级合规性报告数量 unspecified_count Integer 未指定合规性报告数量 表7 ExecutionSummary 参数 参数类型 描述 order_id String 工单Id job_id String 脚本执行Id report_time Long 报告时间 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:64 error_msg String 错误描述 最小长度:2 最大长度:512
  • URI GET /v1/patch/instance/compliant 表1 Query参数 参数 是否必选 参数类型 描述 enterprise_project_id 否 String 企业项目id name 否 String 名称 instance_id 否 String ECS实例id ip 否 String 内网ip eip 否 String 弹性公网ip operating_system 否 String 操作系统 HuaweiCloudEulerOS CentOS EulerOS region 否 String 区域 group 否 String 分组 compliant_status 否 String 合规性状态 non_compliant:不合规 compliant:合规 order_id 否 String 工单id offset 否 Integer 偏移量 最小值:1 最大值:1000000 缺省值:1 limit 否 Integer 每页数量 最小值:1 最大值:100 缺省值:10 sort_dir 否 String 排序 asc:升序 desc:降序 sort_key 否 String 排序字段 report_time:报告时间 report_scene 否 String 报告场景 CCE ECS cce_info_id 否 String cce 集群信息id
  • 响应示例 状态码: 200 节点补丁信息 { "count" : 1, "compliance_items" : [ { "classification" : "", "compliance_level" : "UNSPECIFIED", "instance_id" : "string", "patch_detail" : { "installed_time" : 1713864585000, "patch_baseline_id" : "JX-f2d85e2554f7385cbbf2c23a01f41", "patch_baseline_name" : "COC-EulerOSDefaultPatchBaseline", "patch_status" : "PENDING_REBOOT" }, "severity_level" : "", "title" : "string" } ] } 状态码: 500 错误信息返回 { "error_code" : "string", "error_msg" : "string" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 count Long 总条数 compliance_items Array of ComplianceItem objects 补丁合规信息 数组长度:0 - 1000 表4 ComplianceItem 参数 参数类型 描述 instance_id String 节点id title String 补丁名称 classification String 分类 severity_level String 严重性级别 compliance_level String 合规性级别 patch_detail PatchDetail object 补丁详情 表5 PatchDetail 参数 参数类型 描述 installed_time Long 安装时间 patch_baseline_id String 补丁基线id patch_baseline_name String 补丁基线名称 patch_status String 补丁状态 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:64 error_msg String 错误描述 最小长度:2 最大长度:512
  • URI GET /v1/patch/instance/compliant/{instance_compliant_id} 表1 路径参数 参数 是否必选 参数类型 描述 instance_compliant_id 是 String 合规性报告id 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量 最小值:1 最大值:1000000 缺省值:1 limit 否 Integer 每页数量 最小值:1 最大值:100 缺省值:10 title 否 String 补丁名称 sort_dir 否 String 排序 asc:升序 desc:降序 sort_key 否 String 排序字段 -installed_time:补丁安装时间 patch_status 否 String 补丁状态 INSTALLED:已安装 INSTALLED_OTHER:已安装其他 MISSING:缺失 REJECT:拒绝 FAILED:失败 PENDING_REBOOT:已安装待重启 classification 否 String 分类 severity_level 否 String 严重性级别 compliance_level 否 String 合规性级别
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:4 最小长度:3 最大长度:3 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 最小长度:1 最大长度:20 error_msg String 请求响应描述 最小长度:0 最大长度:10240 data String warroom Id 最小长度:0 最大长度:255
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 war_room_name 是 String warroom标题 最小长度:1 最大长度:255 description 否 String waroom描述 最小长度:0 最大长度:255 region_code_list 否 Array of strings 区域id 最小长度:1 最大长度:255 数组长度:0 - 1000 application_id_list 是 Array of strings 影响应用id 最小长度:1 最大长度:255 数组长度:1 - 1000 incident_number 是 String 事件单号 最小长度:1 最大长度:255 schedule_group 是 Array of ScheduleGroupInfo objects 排班分组 数组长度:0 - 1000 participant 否 Array of strings 参与者 最小长度:0 最大长度:255 数组长度:0 - 1000 war_room_admin 是 String warroom管理员 最小长度:1 最大长度:255 application_names 否 Array of strings 应用名称列表 最小长度:0 最大长度:1000 数组长度:0 - 1000 region_names 否 Array of strings region名称列表 最小长度:0 最大长度:1000 数组长度:0 - 1000 enterprise_project_id 是 String 企业项目id 最小长度:1 最大长度:64 notification_type 否 String 创建群组方式 最小长度:0 最大长度:64 表2 ScheduleGroupInfo 参数 是否必选 参数类型 描述 role_id 是 String 角色id 最小长度:0 最大长度:255 scene_id 是 String 场景id 最小长度:0 最大长度:255
  • 请求示例 { "marker" : 10, "page_size" : 1, "incident_num" : "string", "title" : "string", "change_num" : "string", "region_ids" : [ 0 ], "level_names" : [ "string" ], "impacted_services_ids" : [ 0 ], "root_cause_service_ids" : [ 0 ], "site_ids" : [ 0 ], "admin" : [ 0 ], "status" : [ 0 ], "triggered_start_time" : 0, "triggered_end_time" : 0, "occur_start_time" : 0, "occur_end_time" : 0, "recover_start_time" : 0, "recover_end_time" : 0, "effectiveness" : [ "string" ], "recover_leader_id" : [ 0 ], "pre_warning_briefing_p2" : true, "is_verify" : true }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:4 最小长度:3 最大长度:3 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 最小长度:1 最大长度:20 error_msg String 请求响应描述 最小长度:0 最大长度:10240 data data object 响应数据 表3 data 参数 参数类型 描述 list Array of WarRoomTenantInfo objects warroom信息 数组长度:0 - 1000 total Long 总数 最小值:0 最大值:9223372036854775807 running_num Long 进行中warroom总数 最小值:0 最大值:9223372036854775807 closed_num Long 已关闭warroom总数 最小值:0 最大值:9223372036854775807 total_num Long warroom总数 最小值:0 最大值:9223372036854775807 表4 WarRoomTenantInfo 参数 参数类型 描述 id String 主键 最小长度:0 最大长度:100 title String 标题 最小长度:0 最大长度:255 admin String Warroom管理员 最小长度:0 最大长度:255 recover_member Array of strings 恢复成员 最小长度:0 最大长度:255 数组长度:0 - 1000 recover_leader Array of strings 主恢复责任人 最小长度:0 最大长度:255 数组长度:0 - 1000 incident WarRoomIncident object 事件 source String 事件来源 最小长度:0 最大长度:255 regions Array of regions objects 影响的Region 数组长度:0 - 1000 change_num String 变更单号 最小长度:0 最大长度:255 occur_time Long 开始时间 最小值:0 最大值:9223372036854775807 recover_time Long 故障恢复时间 最小值:0 最大值:9223372036854775807 fault_cause String 故障原因 最小长度:0 最大长度:255 create_time Long 添加时间 最小值:0 最大值:9223372036854775807 first_report_time Long 首次通报时间 最小值:0 最大值:9223372036854775807 recovery_notification_time Long 恢复通报时间 最小值:0 最大值:9223372036854775807 fault_impact String 故障影响 最小长度:0 最大长度:255 description String warRoom描述 最小长度:0 最大长度:255 circular_level String 通报级别 租户区同事件级别 最小长度:0 最大长度:32 war_room_status WarRoomEnumeration object warroom 状态 impacted_application Array of impacted_application objects 影响应用 数组长度:0 - 1000 processing_duration Long 处理时长(分钟) 最小值:0 最大值:9223372036854775807 restoration_duration Long 恢复时长(分钟) 最小值:0 最大值:9223372036854775807 war_room_num String warroom 单号 最小长度:0 最大长度:255 enterprise_project_id String 企业项目id 最小长度:0 最大长度:64 表5 WarRoomIncident 参数 参数类型 描述 id String 主键 最小长度:0 最大长度:100 incident_id String 事件id 最小长度:0 最大长度:32 is_change_event Boolean 是否变更事件 failure_level String 事件级别 最小长度:0 最大长度:32 incident_url String 事件单号链接 最小长度:0 最大长度:20000 表6 regions 参数 参数类型 描述 code String 主键 最小长度:0 最大长度:100 name String 名称 最小长度:0 最大长度:255 表7 WarRoomEnumeration 参数 参数类型 描述 id String 枚举值id 最小长度:0 最大长度:255 name_zh String 枚举值中文名 最小长度:0 最大长度:255 name_en String 枚举值英文名 最小长度:0 最大长度:255 type String 枚举类型 最小长度:0 最大长度:255 表8 impacted_application 参数 参数类型 描述 id String 主键 最小长度:0 最大长度:100 name String 名字 最小长度:0 最大长度:255 状态码: 400 表9 响应Body参数 参数 参数类型 描述 provider_code String 服务标识 缺省值:4 最小长度:3 最大长度:3 error_code String 请求响应代码,范围:0000~9999,正常时取值:0 最小长度:1 最大长度:20 error_msg String 请求响应描述 最小长度:0 最大长度:10240 data Object 响应数据
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 limit 否 Long limit 最小值:0 最大值:1000 缺省值:0 offset 否 Long 查询数量 最小值0 最大值1000 最小值:0 最大值:9223372036854775807 缺省值:10 incident_num 否 String 事件单号 精确查询 最小长度:0 最大长度:64 title 否 String warroom名称 模糊查询 最小长度:0 最大长度:1000 region_code_list 否 Array of strings 区域 多选 最小长度:0 最大长度:200 数组长度:0 - 1000 incident_levels 否 Array of strings 事件级别 多选 最小长度:0 最大长度:32 数组长度:0 - 1000 impacted_application_ids 否 Array of strings 影响应用id 最小长度:0 最大长度:200 数组长度:0 - 1000 admin 否 Array of strings warroom管理员 最小长度:0 最大长度:200 数组长度:0 - 1000 status 否 Array of strings warroom状态 最小长度:0 最大长度:10 数组长度:0 - 100 triggered_start_time 否 Long 拉起开始时间 默认前30天 最小值:0 最大值:9223372036854775807 triggered_end_time 否 Long 拉起结束时间 默认当前时间 最小值:0 最大值:9223372036854775807 occur_start_time 否 Long 发生开始时间 最小值:0 最大值:9223372036854775807 occur_end_time 否 Long 发生结束时间 最小值:0 最大值:9223372036854775807 recover_start_time 否 Long 恢复开始时间 最小值:0 最大值:9223372036854775807 recover_end_time 否 Long 恢复结束时间 最小值:0 最大值:9223372036854775807 notification_level 否 Array of strings 通报级别 最小长度:0 最大长度:32 数组长度:0 - 1000 enterprise_project_ids 否 Array of strings 企业项目id 最小长度:0 最大长度:64 数组长度:0 - 500 war_room_num 否 String war Room 单号 前端使用 最小长度:0 最大长度:255 statistic_flag 否 Boolean 是否统计,false 返回基本信息;true接口只返回统计结果:total_num,running_num,closed_num 缺省值:false
  • 注意事项 OBS桶的拥有者始终为基因测序厂商。测序服务完成后,基因测序厂商可根据需要删除桶或修改桶策略,收回共享权限。 基因测序厂商创建的桶必须配置2条高级桶策略,1条是桶级别策略,1条是对象级别策略。 基因测序厂商创建桶前,第三方需要将自己的账户ID告知基因测序厂商,账户ID可通过界面右上角账户名下“我的凭证”中查看。 图7 查看账户ID 基因测序厂商创建完桶并配置好桶策略后,将桶名告知第三方。 由于单个账号在OBS管理控制台最多创建100个OBS桶,本方案适合第三方数量较少的场景。
  • 操作步骤 基因测序厂商进行桶配置、权限控制及第三方添加外部桶的操作步骤如下: 使用基因测序厂商账号登录OBS管理控制台,单击“创建桶”。 图2 OBS管理控制台 设置桶参数: 图3 创建OBS桶 选择“区域”、“存储类别”,并输入“桶名称”。 桶创建成功后,不能修改名称,创建时,请设置合适的桶名。桶名称建议使用第三方账户名,便于区分。 桶策略:基因测序厂商可以根据界面提示为桶配置私有、公共读或公共读写策略。 多AZ:基因测序厂商可以开启或关闭多AZ。关闭多AZ时,桶内数据存储在单个AZ中;开启多AZ时,桶内数据在上传时同时复制双份,保存在3个AZ中。 标签:标签用于标识OBS对象存储中的桶,以此达到对OBS对象存储中的桶进行分类的目的。OBS对象存储以键值对的形式来描述标签,每个标签有且只有一对键值。有关添加标签的信息,请参见标签简介。 单击“立即创建”。 OBS桶创建完成后,默认跳转至桶列表。单击桶名称进入桶详情页,单击左侧导航栏中的“权限”,进行桶策略配置。 创建桶级别授权策略: 选择“高级桶策略”,单击“创建桶策略”。 图4 创建桶策略 在弹出的对话框中,选择“自定义模式”,单击“其他账号”,输入第三方的账号ID(用户ID可省略不填,获取账户ID和用户ID的方法请参见注意事项)。资源名称设置为空,表示对桶权限的控制。动作列表中选择“*”,表示授予所有权限(如需精确控制权限,可勾选各权限接口)。 单击“确定”,可查看刚创建的桶级别授权策略。 创建对象级别授权策略: 选择“高级桶策略”,单击“创建桶策略”。 选择“自定义模式”,单击“其他账号”,输入第三方的账号ID(用户ID可省略不填)。资源名称输入“*”,表示对桶中所有对象权限的控制。“动作”列表中选择“*”,表示授予所有权限(如需精确控制权限,可勾选各权限接口)。 图5 创建对象级别授权策略 单击“确定”,可查看刚创建的对象级别授权策略。 第三方添加桶: 基因测序厂商创建完桶并配置好桶策略后,将桶名告知第三方。第三方可使用自己账号的AK/SK登录OBS客户端。登录成功后单击“添加桶”,选择“添加外部桶”,输入基因测序厂商提供的桶名,即可查看到列表中出现的桶。 图6 添加外部桶 桶添加成功后,第三方即可通过OBS Broswer上传和下载数据,基因测序厂商可获取到第三方上传的原始数据进行测序计算,输出分析结果。
  • 代码介绍 示例Demo基于开源框架Beego开发,Beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用。 Beeo是一种MVC(model、view、controller)架构的框架。 控制器(Controller)- 负责转发请求,对请求进行处理。 视图(View) - 界面设计人员进行图形界面设计。 模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
  • Demo下载地址 https://mirrors.huaweicloud.com/gcs-sdk/GCS_CloudOnCloud_SDK.rar 示例demo源码只实现了最基础的功能,不可直接作为商业软件使用。 示例demo源码为示例源码,开源目的为方便第三方基于此继续进行二次开发,实现定制化需求。 示例demo开源后不会再提供任何维保和版本更新服务。 对于使用过程中的任何问题,华为云保留最终解释权。
  • 原理说明 GCS提供了REST API,调用API可以使用GCS提供的所有功能。通过调用GCS的API,您可以构建您自己的测序平台,使得用户无需感知GCS。 图1展示了测序平台(Demo系统)的调用流程,共有如下三种角色。 测序平台的用户:使用测序平台的用户,像医院、科研单位等。 测序平台:面向用户提供测序服务,通过调用GCS的API响应用户的测序需求。当用户想发起测序请求时,调用GCS的API执行测序,待测序完成后获取测序结果并返回给用户。 GCS服务:提供底层测序API共测序平台调用。 从上面的描述可以看出,测序平台相当于用户与GCS之间的一个代理,将用户的测序请求转发给GCS处理,然后获取测序结果返回给用户。当然测序平台处理转发测序请求外,还可以做很多其他事情,比如提供用户管理、数据查询等功能,您可以根据自身需求构建。 图1 基于GCS构建测序平台
共100000条