华为云用户手册

  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 projects Array of ProjectV3 objects 项目列表 count Integer 总数 表4 ProjectV3 参数 参数类型 描述 project_id String 项目id name String 项目名 region_id String 区域编码 region_name String 区 域名 称 management_permission Boolean 管理权限 is_stock Boolean 是否是存量项目
  • 响应示例 状态码: 200 ok { "result" : true} 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "project_id : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"} 状态码: 404 Not Found { "error_code" : "DEVSTAR.00001113", "error_msg" : "项目不存在"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 result Boolean 重名校验是否通过,true:校验通过不重名,false:校验不通过重名 状态码: 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 错误原因
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 DEVSTAR.1000 System busy. Try again later. 系统繁忙,请稍后再试 请稍后再试 400 DEVSTAR.1001 Invalid parameter. 非法参数 请联系技术支持 400 DEVSTAR.1004 Invalid domain ID. domain id无效 请参考 https://support.huaweicloud.com/api-iam/iam_17_0002.html 400 DEVSTAR.1005 Failed to create the codeArts project. 创建CodeArts项目失败 请联系技术支持 400 DEVSTAR.1006 The parameter contains invalid special characters. 参数含有非法特殊字符 请检查字段填写是否和接口定义一致 400 DEVSTAR.1007 Invalid region. region无效 请输入正确的 Region ID 400 DEVSTAR.1008 Failed to obtain the project list. 获取项目列表失败 请联系技术支持 400 DEVSTAR.1009 Failed to obtain the region list. 获取区域列表失败 请联系技术支持 400 DEVSTAR.1012 Failed to obtain code repository information. 获取代码仓库信息失败 请联系技术支持 400 DEVSTAR.1017 You do not have the permissions required to access the region. 该region没有权限 请联系技术支持 400 DEVSTAR.1020 The domain name of the region is not found. 没有找到region的域名 请联系技术支持 400 DEVSTAR.1021 Invalid keyword. 非法关键词 请检查字段填写是否和接口定义一致 400 DEVSTAR.1022 The application information does not exist. 应用信息不存在 请确认应用信息是否正确 400 DEVSTAR.1025 The project name already exists. 项目名已存在 请检查项目名 400 DEVSTAR.1026 Failed to delete the template. 删除模板失败 请联系技术支持 400 DEVSTAR.1027 Failed to like the template. 模板点赞失败 请联系技术支持 400 DEVSTAR.1028 Only released templates can be liked. 只有已上架的模板才可以点赞 请先上架模板之后点赞 400 DEVSTAR.1033 Failed to automatically generate the README file. 自动生成README文件失败 请联系技术支持 400 DEVSTAR.1036 Failed to obtain the README image. 获取README图片失败 请联系技术支持 400 DEVSTAR.1037 The template does not exist. 该模板不存在 请确认模板信息是否正确 400 DEVSTAR.1040 You do not have the operation permissions on the project. 用户无项目操作权限 请确认项目成员角色权限 400 DEVSTAR.1045 This repository name already exists in the project. 用户已经在项目中创建了同名仓库 请检查仓库名字 400 DEVSTAR.1046 Failed to create the code repository. 创建代码仓库失败 请联系技术支持 400 DEVSTAR.1048 The pipeline does not exist. 流水线不存在 请检查流水线资源 400 DEVSTAR.1052 The template cannot be deleted because it has been released. 模板状态为已上架,不允许删除 请您下架模板后重试 400 DEVSTAR.1053 Failed to obtain the pipeline template details. 获取流水线模板详情失败 请联系技术支持 400 DEVSTAR.1054 Failed to access the CloudPipeline service. 访问流水线服务失败 请联系技术支持 400 DEVSTAR.1055 Failed to update the template information. 更新模板信息失败 请联系技术支持 400 DEVSTAR.1057 Only .zip files are supported. 只支持zip格式文件 请您使用zip格式文件 400 DEVSTAR.1058 The template is not released. Resources cannot be created. 模板不是已上架状态,禁止创建资源 请上架模板后重试 400 DEVSTAR.1061 The decompressed file is too large. 解压之后的文件过大 仅支持解压后200M的模板 400 DEVSTAR.1062 Decompression failed. Check whether the compressed file is damaged. 解压失败,请检查压缩文件是否有损坏 解压失败,请检查压缩文件是否有损坏 400 DEVSTAR.1063 The compressed package is too large. 压缩包大小超过限制 压缩包大小超过限制,仅支持100M 400 DEVSTAR.1064 Failed to query the task status. 查询任务状态失败 请联系技术支持 400 DEVSTAR.1083 An error occurred when accessing API Gateway. 访问api网关接口异常 请登录ApiErrorCenter,搜寻相关报错信息,查询原因 400 DEVSTAR.1084 Error occurred while accessing function graph. 访问 函数工作流 接口异常 请登录ApiErrorCenter,搜寻相关报错信息,查询原因 400 DEVSTAR.1085 Failed to deliver the function creation task. 下发创建函数任务失败 请确认输入参数是否真实正确(如api网关分组名称是否正确)请联系技术支持 400 DEVSTAR.1088 The number of created functions exceeds the upper limit. 创建函数数量超过上限 请删除一些部署过的函数重试 400 DEVSTAR.1090 Pipeline creation timed out. 创建流水线超时 请稍后再试 400 DEVSTAR.1091 Code repository creation timed out. 创建代码仓超时 请稍后再试 400 DEVSTAR.1092 Failed to create the pipeline. 创建流水线失败 请联系技术支持 400 DEVSTAR.1093 Failed to execute the task. 执行任务失败 请联系技术支持 400 DEVSTAR.1094 Failed to create the task. 创建任务失败 请联系技术支持 400 DEVSTAR.2002 Unknown error. 未知异常 请联系技术支持 400 HDN.1000 Unknown error code. 未知错误码 请联系技术支持 400 HDN.1001 Too frequent access to APIs. Try again later. 访问接口过于频繁,请稍后再试 请稍后再试 父主题: 附录
  • 响应示例 状态码: 200 ok { "applications" : [ { "id" : "0633650ed8a7e69212eed4c348eb6b8d", "name" : "应用名称", "description" : "应用描述", "creator_name" : "张三", "created_at" : "2021-03-25T02:35:13Z", "updated_at" : "2021-03-25T02:35:13Z", "region_id" : "cn-north-7", "region_name" : "区域名称", "project_id" : "2633650ed8a7e69212eed4c348eb6b8d", "project_name" : "所属项目名称", "icon" : "应用图片", "template_types" : [ "mobile" ], "pipeline_creation_result" : [ { "pipeline" : { "id" : "0633650ed8a7e69212eed4c348eb6b8d", "last_running_status" : "success" }, "status" : "success", "failure_reason" : "" } ], "repository_creation_result" : { "repository" : { "id" : "0633650ed8a7e69212eed4c348eb6b8d", "ssh_url" : "git@codehub.xxx.xxx.xxx.com:zhangsan/myrepo.git", "https_url" : "https://codehub.xxx.xxx.xxx.com/zhangsan/myrepo.git" }, "status" : "success", "failure_reason" : "" }, "environment_creation_result" : [ "dev_env", "pre_env", "product_env" ] } ], "count" : 50} 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "project_id : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"}
  • URI GET /v6/applications 表1 Query参数 参数 是否必选 参数类型 描述 attention 否 Boolean 是否查询我关注的应用 region_id 否 String 区域id,从控制台获取方法请参见: 获取区域ID keyword 否 String 搜索关键字,支持按名称和描述搜索,默认null project_id 否 String 所属CodeArts项目id,从 项目列表接口 查询。 topic_id 否 String 主题id,场景或者部署方式分类id is_created_by_self 否 Boolean 是否查询由我创建 sort_key 否 Array 排序字段, name:应用名称,created_at:创建时间,updated_at:更新时间 sort_dir 否 Array 排序方式, desc:降序, asc:升序 limit 否 Integer 每页显示的条目数量,默认10 offset 否 Integer 偏移量,表示从此偏移量开始查询,默认0
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 applications Array of ApplicationV3 objects 应用列表 count Integer 应用列表总条数 表4 ApplicationV3 参数 参数类型 描述 id String 应用id name String 应用名称 description String 应用描述 region_id String 区域id region_name String 区域名称 project_id String 所属项目id project_name String 项目名称 icon String 应用图标 pipeline_creation_result Array of PipelineCreationResult objects 流水线列表 repository_creation_result RepositoryCreationResult object 仓库信息 environment_creation_result Array of strings 环境信息 template_types Array of strings 模板类型 template_deployment String 模板部署信息 deploy_type String 部署类型, function:函数部署,cci:cci容器部署,ServiceStage(Jar):ServiceStage jar包部署,ServiceStage(Docker):ServiceStage Docker容器部署,none不支持部署 creator_name String 创建者名称 created_at String 创建时间 updated_at String 更新时间 version String 应用版本号 表5 PipelineCreationResult 参数 参数类型 描述 pipeline PipelineBasic object 流水线资源信息 task_id String 任务id status String 任务状态, success:成功,failed:失败,creating:创建中,cancel:取消,pending:等待创建 failure_reason String 失败原因 表6 PipelineBasic 参数 参数类型 描述 uuid String DevStar系统生成的流水线UUID id String CloudPipeline系统对应流水线ID name String 流水线名称 url String 流水线地址 last_running_status String 流水线最后一次运行状态,success:成功,failed:失败,running:运行中 表7 RepositoryCreationResult 参数 参数类型 描述 repository RepositoryBasicInfo object 仓库 task_id String 任务id status String 任务状态, success:成功,failed:失败,creating:创建中 failure_reason String 失败原因 表8 RepositoryBasicInfo 参数 参数类型 描述 uuid String 仓库uuid id String 仓库id name String 仓库名称 https_url String 仓库git的https下载地址 ssh_url String 仓库git的ssh下载地址 web_url String 仓库CodeArts Repo内容浏览页面地址
  • URI GET /v1/templates/{template_id}/files 表1 路径参数 参数 是否必选 参数类型 描述 template_id 是 String 模板ID,通过查询模板列表接口可获取相应的模板ID。 表2 Query参数 参数 是否必选 参数类型 描述 file_path 是 String 文件相对路径,基于当前根目录的相对文件路径,例如获取HELP.md文件内容,则文件相对路径为“template-resources/file/HELP.md”。 type 否 String 读取文件来源,缺省值为“source-pachage”。 枚举值: source-package: 源文件压缩包 introduction: 说明文件
  • 响应示例 状态码: 200 OK { "content" : "cHVibGljIGNsYXNzIFRlc3Qgewp9", "encoding" : "base64", "file_name" : "Test.java", "file_path" : "src/test/java/Test.java", "file_type" : "text/plain; charset=utf-8"} 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "file_path : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000003", "error_msg" : "认证信息过期"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"} 状态码: 404 Not Found { "error_code" : "DEVSTAR.1039", "error_msg" : "文件不存在"}
  • 修订记录 发布日期 修订记录 2022-04-29 新增API 部署任务执行变更人工审核 优化API 优化创建部署任务:增加CCI部署方式 2022-01-27 新增API 使用CodeArts IDE Online实例打开应用代码 查询模板列表 废弃API(仍可以访问,但不推荐使用,推荐使用最新版本接口) 查询模板列表(V1) 查询模板列表(V2) 查询模板详情(V1) 2021-12-29 新增API 查询应用关联资源删除状态 获取应用详情 更新应用信息 获取应用依赖元数据资源 删除应用信息 获取应用列表 查询应用环境部署任务详情 创建部署任务 流水线模板列表查询 查询流水线最近一次运行状态查询接口 根据流水线Id操作流水线启动 获取用户有权限的DevStar存量CodeArts项目列表 检查仓库名称是否重名 应用代码仓库统计信息 通过应用Id获取软件发布仓库列表 优化API 查询模板列表(V2) 查询任务详情 查询模板详情(V3) 2021-05-18 优化API描述 优化查询模板详情(V1) 优化Devstar 模板生成代码 2021-01-28 新增错误码 新增错误码DEVSTAR.1012、DEVSTAR.1045、DEVSTAR.1046、DEVSTAR.1090、DEVSTAR.1091、DEVSTAR.1092、DEVSTAR.1093、DEVSTAR.1094,详细请参见错误码。 2020-12-09 新增API 查询模板列表(V2) 查询模板详情(V3) 查询模板详情(V3) 2020-06-05 新增API 查询模板列表(V1):查询模板列表。 查询模板详情(V1):查询模板详情。 Devstar 模板生成代码:创建DevStar模板类型任务。 CodeArts Repo模板生成代码:创建CodeArts Repo模板类型任务。 查询模板详情(V1):查询任务执行详情。 下载代码工程:下载生成的应用压缩包。
  • 响应示例 状态码: 200 ok { "id" : "063365212eed80ed8a74c34e69eb6b8d", "result" : "success"} 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "pipeline_id : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"}
  • 调用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" }}
  • 响应示例 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "name : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"} 状态码: 404 Not Found { "error_code" : "DEVSTAR.1037", "error_msg" : "应用不存在"}
  • 模板管理 模板管理接口,包括查询模板列表、查询模板详情等。 表2 模板管理 API 说明 读取模板文件 读取模板文件 同步模板浏览记录 未登录状态下,将用户浏览过的模板缓存在浏览器中,登录时,调用该接口同步模板浏览记录。 我浏览的模板记录 查询DevStar或者CodeLabs登录用户浏览过的模板(只返回最近浏览的5个模板)。 查询模板列表 查询模板列表。 查询模板详情(V3) 获取指定模板详情,包括模板id、名称、描述、作者、标签、上架时间等信息。
  • 代码生成 代码生成接口,包括创建、下载和查询等。通过这些接口,您可以创建生成代码任务、下载生成代码、获取代码生成任务的信息。 表3 代码生成 API 说明 CodeArts Repo模板生成代码 通过 CodeArts Repo的模板进行应用代码创建。 Devstar 模板生成代码 通过 DevStar 的模板进行应用代码创建。 查询任务详情 查询任务执行状态,执行时间,执行结果详情。 下载模板产物 下载生成的应用代码压缩包。
  • 创建生成代码任务 调用接口查询模板列表查询模板列表,获取 template_id 。 POST /v1/templates/query{ "keyword": "SpringBoot", "offset": 0, "limit": 10} 您需要指定如下参数: keyword:进行模糊搜索模板的名称参数,这里使用的是SpringBoot。 offset:模糊搜索的索引偏移量。 limit:该次请求最多返回的符合条件的模板条数。 使用步骤1获取的 template_id ,调用接口查询模板详情(V3)查询模板信息。 GET /v3/templates/{template_id} 其中的template_id为步骤1获取的 template_id。 使用步骤2获取的模板信息,调用接口Devstar 模板生成代码创建代码生成任务。 POST /v1/jobs/template{ "application_name": "string", "properties": "object", "repo_info": { "name": "string", "project_id": "string", "region_id": "string" }, "repo_type": "0", "template_id": "string"} 您需要指定如下参数: application_name:自定义应用名称。 repo_type:该场景值为0。 template_id:步骤1获取的template_id。 properties:与生成代码相关的参数列表,根据步骤2的返回结果填写。 repo_info.name:自定义仓库名称。 repo_info.project_id:CodeArts Repo 仓库所属项目的 UUID,参见获取项目UUID。 repo_info.region_id:CodeArts Repo 仓库所在的 Region ID,具体请参考地区与终端节点。 使用步骤3获取的任务 id,调用接口查询任务详情查询任务详情。 GET /v1/jobs/{job_id} job_id由步骤3。 任务执行完毕,所有步骤都执行成功后,您可以在CodeArts Repo查看生成的应用代码。关于CodeArts Repo的使用参见代码托管(CodeArts Repo)。
  • 应用管理 应用管理接口,包括应用的查询、应用部署、应用构建、应用软件包查询、项目列表查询、流水线模板列表查、流水线运行状态查询等。您可以通过这些接口完成应用的DevOps开发流程。 表1 应用管理 API 说明 查询应用关联资源删除状态 根据应用Id查询应用关联的代码仓、流水线删除状态 使用场景:用户删除应用关联的资源(如代码仓、流水线...)后,通过该接口实时查询代码仓、流水线删除状态。 获取应用详情 根据应用Id获取应用详情。 更新应用信息 根据应用Id更新对应有权限的应用信息,允许更新信息的信息包含 name,description,icon 获取应用依赖元数据资源 根据应用Id获取依赖元数据资源。 删除应用信息 根据应用Id删除应用,并可以选择删除其关联的代码仓、流水线资源。 获取应用列表 获取我创建的应用列表 当前只支持查询我创建的应用,其中请求参数is_created_by_self需为true。 查询应用环境部署任务详情 查询应用环境部署任务详情。 创建部署任务 创建部署任务,并触发任务执行,当前只支持函数部署。 其中,报文中file_id为查询软件版本包接口返回版本包id; handler为在函数部署方式下,入口函数名称,从应用代码中获取,格式为“包名.类名.函数名称”,例如:com.example.demo.APIGTrigger.handler。 也可以从应用详情接口返回结构template_deployment中直接获取。 流水线模板列表查询 流水线模板列表查询。 查询流水线最近一次运行状态查询接口 查询应用流水线最近一次运行状态查询接口。 根据流水线Id操作流水线启动 根据流水线Id操作流水线启动。 获取用户有权限的DevStar存量CodeArts项目列表 获取用户有权限的DevStar存量CodeArts项目列表。 来源包括:1.DevStar创建的CodeArts项目;2.DevStar应用有关联CodeArts项目。 检查仓库名称是否重名 检查仓库名称是否重名 校验规则 同一个项目下的仓库名称不能存在重复,当结果为true时,校验通过,仓库名称可用,否则,校验不通过,当前项目下的仓库名称已存在,不可用。 必传参数 project_id,name,region_id。 使用CodeArts IDE Online实例打开应用代码 使用 CodeArts IDE Online实例打开应用代码。CodeArts IDE Online会保存用户项目数据,相同用户使用同一个IDE,使用要求: 用户需为登录状态。 拥有仓库权限。 应用代码仓库统计信息 查询代码仓库的统计信息,包括代码仓的名称,代码行数等信息。 通过应用Id获取软件发布仓库列表 通过应用Id获取软件发布仓库列表。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projectsContent-Type: application/jsonX-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用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不同,使用时请注意。
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 响应示例 状态码: 200 OK 示例 1 { "dependencies" : { "description" : "Provides fast application restarts, LiveReload, and configurations for enhanced development experience.", "groupName" : "", "id" : "devtools", "items" : [ ], "name" : "Spring Boot DevTools", "recommended" : false, "versionProperty" : "", "versionRange" : "" }, "dependency_type" : "0", "id" : "b2fe2dce83b04efeaa8b99bb8d44d9c0", "properties" : { "defaultValue" : "maven", "eventOnchange" : [ ], "fold" : false, "helpText" : "Spring 项目的构建方式", "isProjectName" : false, "isShow" : true, "key" : "buildType", "label" : "项目构建方式", "options" : { "displayName" : "Maven Project", "value" : "maven" }, "projectName" : false, "readonly" : false, "regPattern" : "^(maven|gradle)$", "regTip" : "仅允许输入以下值:maven?gradle。 ", "required" : false, "show" : true, "type" : "radio" }, "status" : 4, "title" : "test1202"} 状态码: 400 Bad Request { "error_code" : "HDN.1001", "error_msg" : "参数错误"} 状态码: 401 Unauthorized { "error_code" : "HDN.1001", "error_msg" : "权限错误"} 状态码: 403 Forbidden { "error_code" : "HDN.1001", "error_msg" : "权限错误"}
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中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": "HDN.1001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中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/tokensContent-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。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 模板的id。 title String 模板的名称。 description String 模板的描述信息。 region_id String 模板关联的region host id。 repostory_id String 模板关联的repo id。 code_url String 模板https下载路径。 ssh_url String 模板ssh下载路径。 project_uuid String 项目id。 status Integer 模板状态。 properties Array of objects 源数据信息: key:元数据标识 defaultValue:用户输入值的默认值 isShow:前台界面组件是否展示该元数据 isProjectName:是否使用作为项目名称 label:前台界面组件展示名称 type:前台界面组件类型 helpText:前台界面组件帮助文本 readOnly:前台界面组件是否可修改 required:前台界面组件是否展示必填 regType:该元数据进行正则校验类型;简化模板编码使用 regPattern:该元数据对应js语法正则表达式 regTip:该元数据正则校验提示信息 visibleRule:该元数据可见规则 isRequired:是否必填 isReadOnly:是否只读 options:option对象集合 displayName:前台界面展示字符串 value:该选项值 eventOnchange:联动属性集合 associatedProperty:被关联Property的key值 associatedValue:被关联的value fold:是否折叠 show:是否展示该Property dependencies Array of objects dependency信息: id:依赖全局唯一标识 name:依赖展示名称 description:依赖展示描述 recommended:是否推荐使用该依赖 versionProperty:该依赖版本被关联Property的key值 versionRange:该依赖版本适用范围 groupName:分组名称 items:分组列表 dependency_type String dependency类型: 0:分组 1:不分组 null:无分组信息 deployment Object 部署信息: param:参数对象 build:构建类型 runtime:函数运行时 handler:函数执行入口 outputFile:构建产物文件路径 target:部署环境
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 公有云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/tokensContent-Type: application/json
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 响应示例 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "region_id : 非法参数"} 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息"} 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限"} 状态码: 404 Not Found { "error_code" : "DEVSTAR.1037", "error_msg" : "模板不存在"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 templates Array of PipelineTemplate objects 模板列表 count Integer 模板总数 表4 PipelineTemplate 参数 参数类型 描述 name String 模板名称 id String 模板id description String 描述信息 region_id String 区域id url 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 错误原因
  • 响应参数 状态码: 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 错误原因
共99354条