华为云用户手册

  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 description 是 String 脚本描述 最小长度:1 最大长度:256 content 是 String 脚本内容 最小长度:1 最大长度:4096 properties 否 ScriptPropertiesModel object 风险等级:LOW;HIGH;MEDIUM;审批人只支持修改 script_params 否 Array of ScriptParamDefine objects 脚本入参 数组长度:0 - 5 表3 ScriptPropertiesModel 参数 是否必选 参数类型 描述 risk_level 是 String 风险等级 LOW:低风险 MEDIUM:中风险 HIGH:高风险 枚举值: LOW MEDIUM HIGH version 是 String 脚本版本号 最小长度:1 最大长度:10 reviewers 否 Array of ReviewerInfo objects 审批人,不填写不需要审批 数组长度:0 - 5 protocol 否 String 审批 消息通知 协议,用于通知审批人 DEFAULT:默认 SMS :短信 EMAIL:邮件 DING_TALK:钉钉 WE_LINK:welink WECHAT:微信 CALLNOTIFY:语言 NOT_TO_NOTIFY:不通知 枚举值: DEFAULT SMS EMAIL DING_TALK WE_LINK WECHAT CALLNOTIFY NOT_TO_NOTIFY 表4 ReviewerInfo 参数 是否必选 参数类型 描述 reviewer_name 是 String 审批人名称( IAM 用户名) 最小长度:1 最大长度:64 reviewer_id 是 String 审批人ID(IAM用户Id) 最小长度:0 最大长度:32 表5 ScriptParamDefine 参数 是否必选 参数类型 描述 param_name 是 String 参数名称:只支持英文、数字、下划线 最小长度:1 最大长度:64 param_value 是 String 参数默认值 最小长度:0 最大长度:1024 param_description 是 String 参数描述 最小长度:0 最大长度:256 param_order 是 Integer 参数顺序,从1开始,保持连续 最小值:1 最大值:20 sensitive 是 Boolean 是否是敏感参数
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 请求示例 https://coc.myhuawei.com/v1/job/scripts/{script_uuid}{ "execute_param" : { "timeout" : 300, "execute_user" : "root", "success_rate" : "100.0", "script_params" : [ { "param_name" : "a", "param_value" : "key1", "param_order" : 1 } ] }, "execute_batches" : [ { "batch_index" : 1, "rotation_strategy" : "CONTINUE", "target_instances" : [ { "resource_id" : "resource_id", "agent_sn" : "agent_sn", "agent_status" : "ONLINE", "region_id" : "cn-north-7", "project_id" : "project_id" } ] } ]}
  • 响应示例 状态码: 200 返回结果 { "data" : { "batch_index" : 1, "total_instances" : 1, "execute_instances" : [ { "id" : 1588, "target_instance" : { "resource_id" : "resource_id", "agent_sn" : "agent_sn", "agent_status" : null, "region_id" : null, "project_id" : null, "properties" : { "host_name" : "host_name", "fixed_ip" : "x.x.x.x", "floating_ip" : null, "region_id" : "cn-north-7", "zone_id" : "cn-north-7c", "application" : null, "group" : null, "project_id" : null } }, "gmt_created" : 1697946452436, "gmt_finished" : 1697946763467, "execute_costs" : 311031, "status" : "CANCELED", "message" : "Script execution result" } ] }}
  • 概述 云运维中心(Cloud Operations Center,简称COC)为用户提供安全、高效的一站式智能运维平台,满足客户集中运维诉求。承载华为云确定性运维业务场景,提供变更管理、批量运维等核心特性,实现在安全合规的前提下,提升用户运维能力成熟度和云上运维效率。 COC提供以下功能: 运维 态势感知 大屏,面向不同角色运维人员的专属运维BI看板,辅助管理层洞察决策和优化改进。 资源全生命周期管理,提供资源定义、申请、发放、运维、变配&续期、回收等全生命周期管理,构筑资源管理驾驶舱。 变更风控&作业可信,融合华为SRE安全生产最佳实践的变更管控模型,助力客户作业可信和稳定可靠。 标准化故障管理,加持WarRoom作战驾驶舱,实现故障高效协同和快速恢复。 智能化混沌演练,全旅程混沌工程解决方案,颠覆传统被动运维模式,推动客户向主动运维变革。 父主题: 使用前必读
  • URI GET /v1/job/script/orders/{execute_uuid}/batches/{batch_index} 表1 路径参数 参数 是否必选 参数类型 描述 batch_index 是 Integer 批次index 最小值:1 最大值:20 execute_uuid 是 String 脚本工单的执行Id,取自executeJobScript和ListJobScriptOrders返回体中 最小长度:1 最大长度:26 表2 Query参数 参数 是否必选 参数类型 描述 status 否 String 实例执行状态 READY:待执行 PRO CES SING:执行中 ABNORMAL:异常 CANCELED:已取消 FINISHED:成功 枚举值: READY PROCESSING ABNORMAL CANCELED FINISHED limit 是 Integer 分页参数:每页返回记录个数限制 最小值:1 最大值:50 marker 是 Long 分页参数:上一页最后一个记录id 最小值:0 最大值:2147483647
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 batch_index Integer 批次索引,从1开始 total_instances Integer 批次内执行实例数量 execute_instances Array of ExectionInstanceModel objects 执行实例列表,分页 表4 ExectionInstanceModel 参数 参数类型 描述 id Long 主键id target_instance ResourceInstance object 目标实例 gmt_created Long 创建时间 gmt_finished Long 完成时间 execute_costs Long 耗时时间,单位:秒 status String 实例执行状态 枚举值: READY PROCESSING ABNORMAL CANCELED FINISHED ROLLBACKED message String 实例执行日志 表5 ResourceInstance 参数 参数类型 描述 resource_id String ecs对应的主机id agent_sn String agent纳管id agent_status String agent纳管状态 properties ResourceInstanceProp object 主机附加属性 表6 ResourceInstanceProp 参数 参数类型 描述 host_name String 主机名 未校验:长度 fixed_ip String 内网ip 未校验: 格式,长度 floating_ip String 弹性公网ip 未校验: 格式,长度 region_id String 区域 未校验: 长度 zone_id String 可用区 application String CMDB应用,CMDB应用视图才有值。类似管理面的云服务 group String CMDB分组,CMDB应用视图才有值。类似管理面的schema project_id String 实例的 project_id 需要消费,建议必填 未校验长度
  • 响应示例 状态码: 200 执行基本信息 { "data" : { "execute_uuid" : "SCT2023102211473xxxxxxxxxx", "gmt_created" : 1697946452186, "gmt_finished" : 1697946763469, "execute_costs" : 311282, "creator" : "xxxxxxxxxxxcontainer1", "status" : "CANCELED", "properties" : { "script_uuid" : "SC2023101717xxxxxxxxxxxxx", "script_name" : "xjptxxxxxxxx", "current_execute_batch_index" : 1, "execute_param" : { "resourceful" : true, "timeout" : 300, "execute_user" : "root", "success_rate" : 100, "script_params" : [ ] }, "script_source" : "CUSTOM_SCRIPT" } }}
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 batch_index 否 Integer 适用于批次操作时 最小值:1 最大值:20 instance_id 否 Long 适用于实例操作时 非script_execute_instance_do中iD,需要新增字段 最小值:1 最大值:9223372036854775807 operation_type 是 String 操作类型:取消实例、跳过批次、取消整个工单、暂停整个工单、继续整个工单 CANCEL_INSTANCE:取消实例 SKIP_BATCH:跳过批次 CANCEL_ORDER:取消整个工单 PAUSE_ORDER:暂停整个工单 CONTINUE_ORDER:继续整个工单 枚举值: CANCEL_INSTANCE SKIP_BATCH CANCEL_ORDER PAUSE_ORDER CONTINUE_ORDER
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 script_uuid String 脚本uuid 最小长度:1 最大长度:25 name String 脚本名称 最小长度:1 最大长度:64 version String 脚本版本号 约束条件 后期废除,不建议使用 最小长度:1 最大长度:16 description String 脚本描述 最小长度:1 最大长度:256 type String 脚本类型 SHELL:shell脚本, PYTHON:Python脚本, BAT:Bat脚本, 枚举值: SHELL PYTHON BAT content String 脚本内容 最小长度:1 最大长度:4096 script_params Array of ScriptParamDefine objects 脚本入参 数组长度:0 - 20 status String 脚本状态 PENDING_APPROVE:待审批 APPROVED:正常(审批通过) REJECTED:驳回(审批人,驳回该脚本) 枚举值: PENDING_APPROVE APPROVED REJECTED gmt_created Long 创建时间 最小值:1 最大值:9223372036854775807 gmt_modified Long 修改时间 最小值:1 最大值:9223372036854775807 creator String 创建人 最小长度:1 最大长度:64 creator_id String 创建人Id 最小长度:1 最大长度:32 operator String 修改人 最小长度:1 最大长度:32 properties ScriptPropertiesModel object 脚本标签:风险等级risk_level(取值范围:LOW/MEDIUM/HIGH)、审批人reviewer、脚本解释器interpreter等 表3 ScriptParamDefine 参数 参数类型 描述 param_name String 参数名称:只支持英文、数字、下划线 最小长度:1 最大长度:64 param_value String 参数默认值 最小长度:0 最大长度:1024 param_description String 参数描述 最小长度:0 最大长度:256 param_order Integer 参数顺序,从1开始,保持连续 最小值:1 最大值:20 sensitive Boolean 是否是敏感参数 表4 ScriptPropertiesModel 参数 参数类型 描述 risk_level String 风险等级 LOW:低风险 MEDIUM:中风险 HIGH:高风险 枚举值: LOW MEDIUM HIGH version String 脚本版本号 最小长度:1 最大长度:10 reviewers Array of ReviewerInfo objects 审批人,不填写不需要审批 数组长度:0 - 5 protocol String 审批消息通知协议,用于通知审批人 DEFAULT:默认 SMS:短信 EMAIL:邮件 DING_TALK:钉钉 WE_LINK:welink WECHAT:微信 CALLNOTIFY:语言 NOT_TO_NOTIFY:不通知 枚举值: DEFAULT SMS EMAIL DING_TALK WE_LINK WECHAT CALLNOTIFY NOT_TO_NOTIFY 表5 ReviewerInfo 参数 参数类型 描述 reviewer_name String 审批人名称(IAM用户名) 最小长度:1 最大长度:64 reviewer_id String 审批人ID(IAM用户Id) 最小长度:0 最大长度:32
  • 事件类别 KEY 中文名称 英文名称 inc_type_p_security_issues 安全问题 Security issues inc_type_p_function_issues 功能问题 function issues inc_type_p_reliability_issues 性能/可靠性问题 reliability issues inc_type_p_config_issues 配置问题 config issues inc_type_p_middleware_issues 中间件问题 middleware issues inc_type_p_hardware_issues 硬件问题 hardware issues inc_type_p_networking_issues 网络问题 networking issues inc_type_p_shelter_issues 机房问题 shelter issues inc_type_p_monitoring_issues 监控问题 monitoring issues inc_type_p_consulting_issues 业务咨询类 consulting issues inc_type_p_suppliers_issues 供应商问题 suppliers issues inc_type_p_ohter_issues 其他 ohter issues inc_type_p_change_issues 变更操作问题 Change operation problem 父主题: 事件相关枚举信息
  • URI GET /v1/resources 表1 Query参数 参数 是否必选 参数类型 描述 resource_id_list 否 Array 资源id列表 provider 是 String 云服务名称 type 是 String 资源类型名称 limit 是 Integer 最大的返回数量,最大值100 marker 否 String 分页参数,通过上一个请求中返回的marker信息作为输入,获取当前页
  • 请求示例 GET https://IP:PORT/v1/external/incident/createRequest Headers:Content-Type: application/jsonX-Auth-Token: MI*******ghkgBRequest 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
  • 请求参数 表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 枚举值: WECHAT DING_TALK LARK NULL_GROUP 表2 ScheduleGroupInfo 参数 是否必选 参数类型 描述 role_id 是 String 角色id 最小长度:0 最大长度:255 scene_id 是 String 场景id 最小长度:0 最大长度:255
  • 响应参数 状态码: 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
  • 响应参数 状态码: 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/handleRequest Headers:Content-Type: application/jsonX-Auth-Token: MI*******ghkgBRequest 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" }}
  • 响应示例 状态码: 200 请求成功 { "error_code" : "COC.00000000", "error_msg" : "success", "data" : null, "provider_code" : "049"} 状态码: 400 请求体有误 { "error_code" : "COC.00000001", "error_msg" : "alarmName must not be null | alarmId must not be null", "data" : null, "provider_code" : "049"} 状态码: 401 鉴权有误 { "error_code" : "common.01010001", "error_msg" : "Token missing or invalid.", "data" : null, "provider_code" : "049"}
  • 请求示例 https://coc.myhuaweicloud.com/v1/event/huawei/custom/{integration_key}{ "alarmId" : "18cfxxxxxxxxxx0f8", "alarmName" : "Cpu 使用超额预警", "alarmLevel" : "Critical", "time" : 1709118444540, "nameSpace" : "shanghai", "regionId" : "cn-north-4", "applicationId" : "18cfa0a5ef8d", "resourceName" : "machine-1", "resourceId" : "18cxxxxxxxxxxxxff68625", "alarmDesc" : "string", "URL" : "https://example.com", "alarmStatus" : "alarm", "alarmSource" : "coc", "additional" : { }}
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 alarmId 是 String 告警id 最小长度:1 最大长度:255 alarmName 是 String 告警名称 最小长度:1 最大长度:255 alarmLevel 是 String 告警级别。取值为Critical(紧急), Major(重要), Minor(次要), Info(提示) 最小长度:1 最大长度:255 枚举值: Critical Major Minor Info time 是 Long 告警发生时间 nameSpace 是 String 服务的命名空间 最小长度:1 最大长度:255 regionId 否 String 告警发生区域 最小长度:0 最大长度:255 applicationId 是 String 应用id 最小长度:1 最大长度:255 resourceName 否 String 资源名称 最小长度:0 最大长度:255 resourceId 否 String 资源ID 最小长度:0 最大长度:255 alarmDesc 是 String 告警描述 最小长度:1 最大长度:255 URL 否 String 原始告警URL 最小长度:0 最大长度:255 alarmStatus 否 String 告警状态。一般取值为alarm(告警中)和ok(已恢复) 最小长度:0 最大长度:255 枚举值: alarm ok alarmSource 是 String 告警源 最小长度:1 最大长度:255 additional 否 Object 告警附加信息
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //IAM用户密码 "domain": { "name": "domainname" //IAM用户所属账号名 } } } }, "scope": { "project": { "name": "xxxxxxxx" //项目名称 } } }} 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 123 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projectsContent-Type: application/jsonX-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } }} 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 12 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
  • 请求示例 GET https://IP:PORT/v1/external/incident/handleRequest Headers:Content-Type: application/jsonX-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
共99354条