华为云用户手册

  • 响应示例 状态码: 200 查询商品列表请求成功 { "count" : 1, "products" : [ { "product_id" : "24bad716-87b1-45e5-8912-6102f7693265", "name" : "华为云会议", "description" : "华为云会议", "tags" : [ "华为" ], "create_time" : "2021-09-30T10:43:17Z", "update_time" : "2021-10-30T12:30:35Z", "state" : "CREATING" } ] } 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID 表5 响应Body参数 参数 参数类型 描述 count Integer 商品信息总数 products Array of ProductDetailInfo objects 商品信息列表 表6 ProductDetailInfo 参数 参数类型 描述 product_id String 商品ID name String 商品名称 description String 商品描述 tags Array of strings 标签。单个标签16字节,多个用逗号分隔,最多50个。 cover ProductCoverDetailInfo object 商品封面信息 text_list Array of ProductTextInfo objects 文本列表 asset_list Array of ProductMediaDetailInfo objects 素材资产列表 create_time String 商品创建时间,格式遵循:RFC 3339。 例 “2020-07-30T10:43:17Z”。 update_time String 商品更新时间,格式遵循:RFC 3339。 例 “2020-07-30T10:43:17Z”。 state String 商品状态枚举 ACTIVED:已激活 UNACTIVED:未激活 BLOCK: 被冻结,商品不可用 DELETED:已删除 表7 ProductCoverDetailInfo 参数 参数类型 描述 asset_id String 资产ID cover_url String 封面图片路径。 thumbnail_url String 缩略图路径。 表8 ProductTextInfo 参数 参数类型 描述 title String 文本标题 text String 文本 表9 ProductMediaDetailInfo 参数 参数类型 描述 asset_id String 资产ID asset_type String 资产类型 IMAGE:图片 VIDEO:视频 AUDIO:音频 order Integer 资产次序。不设置或者0表示按照加入时间先后排序。业务上将次序最靠前的图片设置为商品封面。 asset_name String 资产名称。 asset_state String 资产状态。 cover_url String 封面图片路径。 thumbnail_url String 缩略图路径。 main_url String 缩略图路径。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 X-App-UserId 否 String 开发者应用作为资产权属的可选字段。
  • 请求示例 POST https://metastudio.cn-north-4.myhuaweicloud.com/v1/6a6a1f8354f64dd9b9a614def7b59d83/digitalhumans/24bad716-87b1-45e5-8912-6102f7693265/assets { "action" : "LINK", "asset_item" : { "asset_id" : "24bad716-87b1-45e5-8912-6102f7693265" } }
  • 响应示例 状态码: 200 设置数字人资产成功 { "dh_id" : "24bad716-87b1-45e5-8912-6102f7693265" } 状态码: 400 { "error_code" : "MSS.00000003", "error_msg" : "Invalid parameter" } 状态码: 500 { "error_code" : "MSS.00000004", "error_msg" : "Internal Error" }
  • 响应参数 状态码: 200 表6 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求ID 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 X-App-UserId 否 String 开发者应用作为资产权属的可选字段。 表3 请求Body参数 参数 是否必选 参数类型 描述 asset_item 否 ProductMediaInfo object 商品素材信息 text_item 否 ProductTextInfo object 商品文本信息 action 否 String 添加或删除资产关联 - LINK :将资产纳入管理 - UNLINK :将资产移除管理 表4 ProductMediaInfo 参数 是否必选 参数类型 描述 asset_id 否 String 资产ID asset_type 否 String 资产类型 IMAGE:图片 VIDEO:视频 AUDIO:音频 order 否 Integer 资产次序。不设置或者0表示按照加入时间先后排序。业务上将次序最靠前的图片设置为商品封面。 表5 ProductTextInfo 参数 是否必选 参数类型 描述 title 否 String 文本标题 text 否 String 文本
  • 响应示例 状态码: 200 OK { "result" : [ { "notice_type" : "DING_TALK", "enable_map" : { "buildJobFail" : false, "updateConfigJob" : false, "buildJobSuccess" : false, "deleteJob" : false, "forbiddenJob" : false }, "param_config" : null }, { "notice_type" : "MAIL", "enable_map" : { "buildJobFail" : true, "updateConfigJob" : false, "buildJobSuccess" : false, "deleteJob" : false, "forbiddenJob" : false }, "param_config" : null }, { "notice_type" : "MESSAGE", "enable_map" : { "buildJobFail" : false, "updateConfigJob" : false, "buildJobSuccess" : false, "deleteJob" : false, "forbiddenJob" : false }, "param_config" : null } ], "error" : null, "status" : "success" }
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token获取请求认证接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • API概览 表1 编译构建接口概览 分类 接口 任务相关API接口 根据开始时间和结束时间查看构建任务的构建历史列表 查看构建任务的构建历史列表 KeyStore文件下载 查看任务运行状态 查看项目下用户的构建任务列表 执行构建任务 查询指定代码仓库最近一次成功的构建历史 获取构建历史详情信息接口 根据开始时间和结束时间查看构建任务的构建成功率 下载构建日志 下载构建步骤日志 获取构建记录信息 获取构建产物详情信息 停止构建任务 删除构建任务 禁用构建任务 创建构建任务 恢复构建任务 更新构建作业配置 查询构建模板 创建构建模板 删除构建模板 查询通知 更新通知 取消通知 获取构建任务详情 历史API接口(待下线) 下载构建日志(待下线) 获取构建记录的有向无环图(待下线) 获取构建记录信息(待下线) 停止构建任务(待下线)
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务接口获取 (响应消息头中X-Subject-Token的值)。 不支持租户全局token,请使用scope为project的region级token。 表3 请求Body参数 参数 是否必选 参数类型 描述 notice_type 是 String 通知类型 enabled_event_type_names 是 Array of strings 开启的通知的种类 param_config 否 String 通知参数配置
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result String 返回错误信息 error String 返回错误信息 status String 返回状态信息 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "history_records" : { "record_id" : "20201230.1", "job_id" : "f9d6c8466d614a9788e9a0acf6c15f46", "build_number" : 55, "start_time" : "2020-12-30T17:33:11+08:00", "end_time" : "2020-12-30T17:33:27+08:00", "result" : "FAILURE", "branch" : "master", "commit_id" : "2f37dd494927d2c6259417c58e5faeb72bfe7150", "commit_message" : "test", "executor" : "test", "trigger_type" : "手工触发" } }
  • URI GET /v3/jobs/{job_id}/period-history 表1 路径参数 参数 是否必选 参数类型 描述 job_id 是 String 构建的任务ID; 编辑构建任务时,浏览器URL末尾的32位数字、字母组合的字符串。 表2 Query参数 参数 是否必选 参数类型 描述 offset 是 Integer 分页页码, 表示从此页开始查询, offset大于等于0 limit 是 Integer 每页显示的条目数量,limit小于等于100 start_time 是 String 区间开始时间,格式yyyy-MM-dd。 开始时间和结束时间间隔不能超过30天 end_time 是 String 区间结束时间,格式yyyy-MM-dd。 开始时间和结束时间间隔不能超过30天
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 记录总数 history_records Array of history_records objects 构建历史列表 表5 history_records 参数 参数类型 描述 record_id String 构建记录id--唯一key job_id String 任务id build_number Integer 构建编号 start_time String 构建开始时间 end_time String 构建结束时间 result String 构建结果 branch String 代码分支 commit_id String 代码提交的commit id commit_message String 代码提交时用户输入的提交信息,只有使用Repo仓库时有值 executor String 执行构建任务的用户的用户名 trigger_type String 触发方式,可选值:手工触发,定时触发,代码更新触发,流水线触发 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 result result object 结果 status String 状态信息 error String 错误信息 表9 result 参数 参数类型 描述 job_id String 构建任务ID 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 result result object 结果 status String 状态信息 error String 错误信息 表9 result 参数 参数类型 描述 job_id String 构建任务ID 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "result" : { "total_size" : 172, "items" : [ { "public" : true, "favourite" : false, "nick_name" : "021", "id" : "6561b2ced7a6751941fdc8cd", "uuid" : "2d9031c079624376824fe1e2731615dc", "template" : { "steps" : [ { "properties" : { "image" : "maven3.5.3-jdk8-open", "snapshotArtifact" : { "displayName" : "", "value" : "" }, "userPrivateRepositories" : [ ], "deal" : "notDeal", "dependencyCheckParam" : " ", "userPublicRepositories" : [ ], "settingMode" : "auto", "doCheck" : "disable", "junitCoverageSwitch" : "false", "coverageReportPath" : "**/site/jacoco", "releaseArtifact" : { "displayName" : "", "value" : "" }, "cacheOption" : "cached", "command" : "# 功能: 打包\n# 参数说明:\n#\t\t-Dmaven.test.skip=true:跳过单元测试\n#\t\t-U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能\n#\t\t-e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建\n#\t\t-B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常\n# 使用场景: 打包项目且不需要执行单元测试时使用\nmvn package -Dmaven.test.skip=true -U -e -X -B\n\n#功能:打包;执行单元测试,但忽略单元测试用例失败,每次构建检查依赖更新\n#使用场景: 需要执行单元测试,且使用构建提供的单元测试报告服务统计执行情况\n# 使用条件:在”单元测试“中选择处理单元测试结果,并正确填写测试结果文件路径\n#mvn package -Dmaven.test.failure.ignore=true -U -e -X -B\n\n#功能:打包并发布依赖包到私有依赖库\n#使用场景: 需要将当前项目构建结果发布到私有依赖仓库以供其它maven项目引用时使用\n#注意事项: 此处上传的目标仓库为CodeArts私有依赖仓库,注意与软件发布仓库区分\n#mvn deploy -Dmaven.test.skip=true -U -e -X -B", "file" : "**/TEST*.xml", "dependencyProjectDir" : "./", "ignoreTest" : "false", "pomMode" : "no", "dependencySettings" : "~/.m2/settings.xml" }, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Maven构建", "version" : null, "enable" : true }, { "properties" : { "image" : "shell4.2.46-git1.8.3-zip6.00", "buildVersion" : "", "file" : "bin/*", "groupId" : "", "name" : "" }, "module_id" : "devcloud2018.codeci_action_20018.action", "name" : "上传软件包到软件发布库", "version" : null, "enable" : true } ] }, "type" : "codeci", "name" : "oych_test_temp_ladadad12122313", "create_time" : "2023-11-25T08:39:42.098+00:00", "domain_id" : "60021bab32fd450aa2cb89226f425e06", "weight" : 0, "user_id" : "ae22fd035f354cfa8d82a3f1c8940446", "user_name" : "devcloud_codeci_z00485259_02", "domain_name" : "devcloud_codeci_z00485259_02", "scope" : "custom", "description" : "123", "intl_description" : { }, "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch", "limits" : null }, { "name" : "type", "value" : "normalparam", "limits" : null }, { "name" : "defaultValue", "value" : "master", "limits" : null }, { "name" : "description", "value" : "代码分支,系统预定义参数", "limits" : null }, { "name" : "deletion", "value" : "false", "limits" : null }, { "name" : "defaults", "value" : "true", "limits" : null }, { "name" : "staticVar", "value" : "false", "limits" : null }, { "name" : "sensitiveVar", "value" : "false", "limits" : null } ] } ], "i18n" : { } }, { "public" : true, "favourite" : false, "nick_name" : "021", "id" : "655593217c95e62ccee22799", "uuid" : "e6e1ac0c94254534bd6c952f201d621d", "template" : { "steps" : [ { "properties" : { "image" : "maven3.5.3-jdk8-open", "snapshotArtifact" : { "displayName" : "", "value" : "" }, "userPrivateRepositories" : [ ], "deal" : "notDeal", "dependencyCheckParam" : " ", "userPublicRepositories" : [ ], "settingMode" : "auto", "doCheck" : "disable", "junitCoverageSwitch" : "false", "coverageReportPath" : "**/site/jacoco", "releaseArtifact" : { "displayName" : "", "value" : "" }, "cacheOption" : "cached", "command" : "# 功能: 打包\n# 参数说明:\n#\t\t-Dmaven.test.skip=true:跳过单元测试\n#\t\t-U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能\n#\t\t-e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建\n#\t\t-B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常\n# 使用场景: 打包项目且不需要执行单元测试时使用\nmvn package -Dmaven.test.skip=true -U -e -X -B\n\n#功能:打包;执行单元测试,但忽略单元测试用例失败,每次构建检查依赖更新\n#使用场景: 需要执行单元测试,且使用构建提供的单元测试报告服务统计执行情况\n# 使用条件:在”单元测试“中选择处理单元测试结果,并正确填写测试结果文件路径\n#mvn package -Dmaven.test.failure.ignore=true -U -e -X -B\n\n#功能:打包并发布依赖包到私有依赖库\n#使用场景: 需要将当前项目构建结果发布到私有依赖仓库以供其它maven项目引用时使用\n#注意事项: 此处上传的目标仓库为CodeArts私有依赖仓库,注意与软件发布仓库区分\n#mvn deploy -Dmaven.test.skip=true -U -e -X -B", "file" : "**/TEST*.xml", "dependencyProjectDir" : "./", "ignoreTest" : "false", "pomMode" : "no", "dependencySettings" : "~/.m2/settings.xml" }, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Maven构建", "version" : null, "enable" : true }, { "properties" : { "image" : "shell4.2.46-git1.8.3-zip6.00", "buildVersion" : "", "file" : "bin/*", "groupId" : "", "name" : "" }, "module_id" : "devcloud2018.codeci_action_20018.action", "name" : "上传软件包到软件发布库", "version" : null, "enable" : true } ] }, "type" : "codeci", "name" : "oych_test_sdk_template", "create_time" : "2023-11-16T03:57:21.333+00:00", "domain_id" : "60021bab32fd450aa2cb89226f425e06", "weight" : 0, "user_id" : "ae22fd035f354cfa8d82a3f1c8940446", "user_name" : "devcloud_codeci_z00485259_02", "domain_name" : "devcloud_codeci_z00485259_02", "scope" : "custom", "description" : "oych_test_sdk_template", "intl_description" : { }, "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch", "limits" : null }, { "name" : "type", "value" : "normalparam", "limits" : null }, { "name" : "defaultValue", "value" : "master", "limits" : null }, { "name" : "description", "value" : "代码分支,系统预定义参数", "limits" : null }, { "name" : "deletion", "value" : "false", "limits" : null }, { "name" : "defaults", "value" : "true", "limits" : null }, { "name" : "staticVar", "value" : "false", "limits" : null }, { "name" : "sensitiveVar", "value" : "false", "limits" : null } ] } ], "i18n" : { } } ] }, "error" : null, "status" : "success" }
  • 响应示例 状态码: 200 OK { "result" : { "public" : true, "favourite" : false, "id" : "6561b2ced7a6751941fdc8cd", "uuid" : "2d9031c079624376824fe1e2731615dc", "template" : { "steps" : [ { "properties" : { "image" : "maven3.5.3-jdk8-open", "snapshotArtifact" : { "displayName" : "", "value" : "" }, "userPrivateRepositories" : [ ], "deal" : "notDeal", "dependencyCheckParam" : " ", "userPublicRepositories" : [ ], "settingMode" : "auto", "doCheck" : "disable", "junitCoverageSwitch" : "false", "coverageReportPath" : "**/site/jacoco", "releaseArtifact" : { "displayName" : "", "value" : "" }, "cacheOption" : "cached", "command" : "# 功能: 打包\n# 参数说明:\n#\t\t-Dmaven.test.skip=true:跳过单元测试\n#\t\t-U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能\n#\t\t-e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建\n#\t\t-B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常\n# 使用场景: 打包项目且不需要执行单元测试时使用\nmvn package -Dmaven.test.skip=true -U -e -X -B\n\n#功能:打包;执行单元测试,但忽略单元测试用例失败,每次构建检查依赖更新\n#使用场景: 需要执行单元测试,且使用构建提供的单元测试报告服务统计执行情况\n# 使用条件:在”单元测试“中选择处理单元测试结果,并正确填写测试结果文件路径\n#mvn package -Dmaven.test.failure.ignore=true -U -e -X -B\n\n#功能:打包并发布依赖包到私有依赖库\n#使用场景: 需要将当前项目构建结果发布到私有依赖仓库以供其它maven项目引用时使用\n#注意事项: 此处上传的目标仓库为CodeArts私有依赖仓库,注意与软件发布仓库区分\n#mvn deploy -Dmaven.test.skip=true -U -e -X -B", "file" : "**/TEST*.xml", "dependencyProjectDir" : "./", "ignoreTest" : "false", "pomMode" : "no", "dependencySettings" : "~/.m2/settings.xml" }, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Maven构建", "version" : null, "enable" : true }, { "properties" : { "image" : "shell4.2.46-git1.8.3-zip6.00", "buildVersion" : "", "file" : "bin/*", "groupId" : "", "name" : "" }, "module_id" : "devcloud2018.codeci_action_20018.action", "name" : "上传软件包到软件发布库", "version" : null, "enable" : true } ] }, "type" : "codeci", "name" : "oych_test_temp_ladadad12122313", "create_time" : "2023-11-25T08:39:42.098+00:00", "domain_id" : "60021bab32fd450aa2cb89226f425e06", "weight" : 0, "user_id" : "ae22fd035f354cfa8d82a3f1c8940446", "user_name" : "devcloud_codeci_z00485259_02", "domain_name" : "devcloud_codeci_z00485259_02", "scope" : "custom", "description" : "123", "intl_description" : { }, "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch", "limits" : null }, { "name" : "type", "value" : "normalparam", "limits" : null }, { "name" : "defaultValue", "value" : "master", "limits" : null }, { "name" : "description", "value" : "代码分支,系统预定义参数", "limits" : null }, { "name" : "deletion", "value" : "false", "limits" : null }, { "name" : "defaults", "value" : "true", "limits" : null }, { "name" : "staticVar", "value" : "false", "limits" : null }, { "name" : "sensitiveVar", "value" : "false", "limits" : null } ] } ], "i18n" : { } }, "error" : null, "status" : "success" }
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token获取请求认证接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxx为project的名称,如cn-north-1,您可以从地区和终端节点中获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token额作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token获取请求认证。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token获取请求认证接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 请求URI由如下部分组成:{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 各参数含义如下: 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.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-1.myhuaweicloud.com),并在获取用户Token获取请求认证的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如,定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 名称 描述 是否必选 备注 Content-Type 消息体的类型(格式) 是 默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token 用户Token 否 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 X-Project-ID 子项目ID 否 在多项目场景中使用 X-Domain-ID 账号ID - - 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参考AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作,具体如下: 请求方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 调用API获取项目ID 项目ID通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中“{Endpoint}”为IAM的终端节点,您可以从地区和终端节点中获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中“projects”下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result String 返回错误信息 error String 返回错误信息 status String 返回状态信息 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "result" : { "steps" : [ { "properties" : { "image" : "maven3.5.3-jdk8-open", "snapshotArtifact" : { "displayName" : "", "value" : "" }, "userPrivateRepositories" : [ ], "deal" : "notDeal", "dependencyCheckParam" : " ", "userPublicRepositories" : [ ], "settingMode" : "auto", "doCheck" : "disable", "junitCoverageSwitch" : false, "coverageReportPath" : "**/site/jacoco", "releaseArtifact" : { "displayName" : "", "value" : "" }, "cacheOption" : "cached", "command" : "# 功能: 打包\n# 参数说明:\n#\t\t-Dmaven.test.skip=true:跳过单元测试\n#\t\t-U:每次构建检查依赖更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能\n#\t\t-e -X :打印调试信息,定位疑难构建问题时建议使用此参数构建\n#\t\t-B:以batch模式运行,可避免日志打印时出现ArrayIndexOutOfBoundsException异常\n# 使用场景: 打包项目且不需要执行单元测试时使用\nmvn package -Dmaven.test.skip=true -U -e -X -B\n\n#功能:打包;执行单元测试,但忽略单元测试用例失败,每次构建检查依赖更新\n#使用场景: 需要执行单元测试,且使用构建提供的单元测试报告服务统计执行情况\n# 使用条件:在”单元测试“中选择处理单元测试结果,并正确填写测试结果文件路径\n#mvn package -Dmaven.test.failure.ignore=true -U -e -X -B\n\n#功能:打包并发布依赖包到私有依赖库\n#使用场景: 需要将当前项目构建结果发布到私有依赖仓库以供其它maven项目引用时使用\n#注意事项: 此处上传的目标仓库为CodeArts私有依赖仓库,注意与软件发布仓库区分\n#mvn deploy -Dmaven.test.skip=true -U -e -X -B", "file" : "**/TEST*.xml", "dependencyProjectDir" : "./", "ignoreTest" : false, "pomMode" : "no", "dependencySettings" : "~/.m2/settings.xml" }, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Maven构建", "version" : null, "enable" : true }, { "properties" : { "image" : "shell4.2.46-git1.8.3-zip6.00", "buildVersion" : "", "file" : "**/target/*.?ar", "groupId" : "", "name" : "" }, "module_id" : "devcloud2018.codeci_action_20018.action", "name" : "上传软件包到软件发布库", "version" : null, "enable" : true } ], "arch" : "x86-64", "project_id" : "a287e712be6c404ca26e5f69040fa12b", "job_name" : "oychap213i2", "job_id" : "35b6c7da9e644dbbb7e333579f89dcda", "auto_update_sub_module" : "false", "flavor" : "2u8g", "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch", "limits" : null }, { "name" : "type", "value" : "normalparam", "limits" : null }, { "name" : "defaultValue", "value" : "master", "limits" : null }, { "name" : "description", "value" : "代码分支,系统预定义参数", "limits" : null }, { "name" : "deletion", "value" : "false", "limits" : null }, { "name" : "defaults", "value" : "true", "limits" : null }, { "name" : "staticVar", "value" : "false", "limits" : null }, { "name" : "sensitiveVar", "value" : "false", "limits" : null } ] } ], "scms" : [ { "branch" : "master", "url" : "git@codehub.devcloud.cn-north-7.ulanqab.huawei.com:soso-test00001/an.git", "is_auto_build" : false, "scm_type" : "codehub", "end_point_id" : null, "web_url" : "https://devcloud.cn-north-7.ulanqab.huawei.com/codehub/2111746211/home", "source" : null, "build_type" : "branch", "depth" : "1", "repo_id" : "2111746211" } ], "host_type" : "devcloud" }, "error" : null, "status" : "success" }
  • 请求示例 创建一个private类型的虚拟接口,设置带宽为2,VLAN为332,云侧网关IPv4接口地址为1.1.1.1/30,客户侧网关IPv4接口地址为1.1.1.2/30,使用静态路由模式。 POST https://{dc_endpoint}/v3/0605768a3300d5762f82c01180692873/dcaas/virtual-interfaces { "virtual_interface" : { "name" : "vif-0819", "description" : "mytest", "direct_connect_id" : "4673e339-8412-4ee1-b73e-2ba9cdfa54c1", "vgw_id" : "8a47064a-f34c-4f94-b7fe-cac456c9b37b", "vlan" : 332, "bandwidth" : 2, "local_gateway_v4_ip" : "1.1.1.1/30", "remote_gateway_v4_ip" : "1.1.1.2/30", "type" : "private", "route_mode" : "static", "remote_ep_group" : [ "1.1.2.0/30" ] } }
  • 响应示例 状态码: 201 CREATED { "virtual_interface" : { "id" : "0d0fdf63-f2c4-491c-8866-d504796189be", "name" : "vif-0819", "description" : "mytest", "tenant_id" : "0605768a3300d5762f82c01180692873", "direct_connect_id" : "4673e339-8412-4ee1-b73e-2ba9cdfa54c1", "vgw_id" : "8a47064a-f34c-4f94-b7fe-cac456c9b37b", "type" : "private", "service_type" : "VGW", "vlan" : 332, "bandwidth" : 2, "device_id" : "18.9.215.131", "status" : "ACTIVE", "create_time" : "2022-08-19T11:28:06.000Z", "admin_state_up" : true, "enable_bfd" : false, "route_limit" : 50, "enable_nqa" : false, "vif_peers" : [ { "id" : "c768eb52-12a8-4859-9b43-81194643040c", "tenant_id" : "0605768a3300d5762f82c01180692873", "name" : "vif-0819", "description" : "", "address_family" : "ipv4", "local_gateway_ip" : "1.1.1.1/30", "remote_gateway_ip" : "1.1.1.2/30", "route_mode" : "static", "bgp_asn" : null, "bgp_md5" : null, "device_id" : "18.9.215.131", "bgp_route_limit" : 100, "bgp_status" : null, "status" : "ACTIVE", "vif_id" : "0d0fdf63-f2c4-491c-8866-d504796189be", "receive_route_num" : -1, "remote_ep_group" : [ "1.1.2.0/30" ], "service_ep_group" : null } ], "enterprise_project_id" : "0" }, "request_id" : "5633df7af874576d819a481c76673236" }
  • 响应参数 状态码: 201 表6 响应Body参数 参数 参数类型 描述 request_id String 操作请求ID virtual_interface VirtualInterface object 虚拟接口对象 表7 VirtualInterface 参数 参数类型 描述 id String 虚拟接口的ID 最大长度:36 name String 虚拟接口的名称 最大长度:64 admin_state_up Boolean 管理状态:true或false bandwidth Integer 虚拟接口接入带宽 最小值:2 最大值:2147483647 create_time String 虚拟接口创建时间 最大长度:255 update_time String 虚拟接口更新时间 description String 虚拟接口的描述 最大长度:128 direct_connect_id String 物理专线的ID 最大长度:36 service_type String 接入网关类型:VGW、GDGW、GEIP status String 操作状态,合法值是:ACTIVE,DOWN,BUILD,ERROR,PENDING_CREATE,PENDING_UPDATE,PENDING_DELETE,DELETED,AUTHORIZATION,REJECTED tenant_id String 租户ID 最小长度:32 最大长度:32 type String 表示接口类型:private 缺省值:private 最大长度:255 枚举值: private public vgw_id String 虚拟网关的ID 最小长度:36 最大长度:36 vlan Integer 同用户网关对接的vlan, 配置范围0-3999 最小值:0 最大值:3999 route_limit Integer 虚拟接口远端子网路由配置规格 最小值:1 最大值:200 缺省值:50 enable_nqa Boolean 是否使能nqa功能:true或false enable_bfd Boolean 是否使能nqa功能:true或false lag_id String 虚拟接口关联的链路聚合组ID 最小长度:36 最大长度:36 device_id String 归属的设备ID enterprise_project_id String 实例所属企业项目ID 最小长度:36 最大长度:36 tags Array of Tag objects 标签信息 数组长度:0 - 10 vif_peers Array of VifPeer objects 虚拟接口的Peer的相关信息 extend_attribute VifExtendAttribute object 接口BFD/NQA等可靠性检测信息,只有配置BFD和NQA的扩展参数才会显示扩展参数信息 表8 Tag 参数 参数类型 描述 key String 标签键,最大长度36个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,中文。 最小长度:0 最大长度:36 value String 标签值,最大长度43个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,点“.”,中文。 最小长度:0 最大长度:43 表9 VifPeer 参数 参数类型 描述 id String 资源ID 最小长度:36 最大长度:36 tenant_id String 归属租户ID 最小长度:36 最大长度:36 name String 虚拟接口对等体名称 最小长度:0 最大长度:64 description String 虚拟接口对等体名称描述信息 最小长度:0 最大长度:128 address_family String 接口的地址簇类型,ipv4,ipv6 local_gateway_ip String 虚拟接口对等体云侧接口地址 remote_gateway_ip String 虚拟接口对等体客户侧接口地址 route_mode String 路由模式:static/bgp 最大长度:255 枚举值: bgp static bgp_asn Integer BGP邻居的AS号 最小值:1 最大值:4294967295 bgp_md5 String BGP邻居的MD5密码 remote_ep_group Array of strings 远端子网列表,记录租户侧的cidrs service_ep_group Array of strings 该字段用于公网专线接口,表示租户可以访问云上公网服务地址列表 device_id String 归属的设备ID bgp_route_limit Integer BGP的路由配置规格 bgp_status String 接口BGP协议状态,如果是静态路由接口则状态为 null 最大长度:10 status String 虚拟接口对等体状态 vif_id String 虚拟接口对等体对应的虚拟接口ID 最小长度:36 最大长度:36 receive_route_num Integer 路由模式为bgp:receive_route_num值为接收搭配BGP的路由数目; 路由模式为static:该字段无意义,值为-1; 注:若早期接入华为云的部分用户无法获取该字段信息,如需要请联系客服迁移专线端口。 表10 VifExtendAttribute 参数 参数类型 描述 ha_type String 虚拟接口的可用性检测类型 枚举值: nqa bfd ha_mode String 检测的具体的配置模式 枚举值: auto_single auto_multi static_single static_multi enhance_nqa detect_multiplier Integer 检测的重试次数 缺省值:5 min_rx_interval Integer 检测的接收时长间隔 缺省值:1000 min_tx_interval Integer 检测的发送时长间隔 缺省值:1000 remote_disclaim Integer 检测的远端的标识,用于静态BFD local_disclaim Integer 检测的本端的标识,用于静态BFD
共100000条