华为云用户手册

  • 示例 对图片进行水平翻转。 https://e-share.obs.cn-north-1.myhuaweicloud.com/example.jpg?x-image-process=image/flip,horizontal 图1 对图片进行水平翻转 对图片进行垂直翻转。 https://e-share.obs.cn-north-1.myhuaweicloud.com/example.jpg?x-image-process=image/flip,vertical 图2 对图片进行垂直翻转
  • 什么是移动应用测试 移动应用测试(MobileAppTest)是联合TestBird提供的移动兼容性测试服务。提供TOP流行机型、数百名测试专家,使用图像识别和准确控件识别技术,只需提供App应用,便可生成详细兼容性测试报告(包含系统日志、截图、错误原因、CPU、内存等)。 服务特性 机型全面,提供TOP机型,覆盖98%主流机型;快速上新、快速上线主流机型。 全自动化测试。无需提供测试脚本,无需人工编写用例,只需提交Android、iOS应用安装文件,选取测试套餐,即可输出详尽测试报告。 测试深、速度快,深入测试包括UI异常、闪退、卡死、程序异常、黑屏等兼容性问题。用户只需要提交任务,即可快速得到专业完整的测试报告。 详尽在线测试报告,支持一键下载。提供详细测试分析、问题上下文信息、全过程截图和日志。 快速定位、解决问题,丰富的问题描述信息,支持操作截图和日志联动分析,支持影响度排序,支持终端等多维度筛选问题,帮助准确定位问题。 计费说明 按次计费,由合作伙伴TestBird在华为云应用市场提供产品规格和报价。 购买TestBird兼容性测试时,华为云市场会从华为云账号扣费,并在TestBird生成一个账号,自动绑定该租户。 TestBird兼容性测试支持多次购买。
  • 操作步骤 进入Classroom个人中心,在“成员管理”选择“老师”,单击“添加老师”。 输入下表中的基本信息,单击“添加”。 参数名 说明 用户名 必填。且必须唯一,长度5到32位,首位字符需为字母,其他位可以是-或_或字母或数字。 说明: 可使用老师姓名首字母+工号的方式创建用户名。 邮箱 必填。且必须唯一,邮箱地址需符合一般邮箱规范。 姓名 必填。可重复,长度为1到32位。 学号/工号 必填。且必须唯一,长度为1-18位,可为数字或大小写字母。 职务 必填。 学校/单位 必填。 学院 必填。 专业 必填。 被添加的教师会收到账号信息的邮件,提醒老师留意邮件。
  • 操作步骤 教师添加完成后,请在邮箱内获取账号信息进行登录。 登录Classroom官网,单击“IAM用户登录”,依次输入账号名、用户名、初始密码。 单击“登录”。 进入后输入初始密码、新密码、单击“获取邮箱验证码”。 打开邮箱后,找到发件人为“system@info.hueweicloud.com”,标题为“华为云邮箱验证码邮件”邮件,获取“邮件验证码”后,输入到修改密码界面“邮件验证码”框中。 单击“确定”。
  • 添加方式二 进入Classroom个人中心,在“成员管理”选择“学生”,单击“添加学生”。 输入下表中的基本信息,单击“添加”,完成单个添加。 参数名 说明 用户名 必填。且必须唯一,长度5到32位,首位字符需为字母,其他位可以是-或_或字母或数字。 说明: 可使用学生姓名首字母+学号的方式创建用户名。 邮箱 必填。且必须唯一,邮箱地址需符合一般邮箱规范。 姓名 必填。可重复,长度为1到32位。 学号/工号 选填。且必须唯一,长度为1-18位,可为数字或大小写字母。 学校 选填。可在下拉栏中选择。 学院 选填。 专业 选填。 班级 选填。可选择已存在的班级。 单击批量导入学生,下载批量导入模板文件。 填写模板中成员信息。 需要学生信息如下: 鼠标悬浮在表头处可以查看对应信息的填写要求。 教师勾选已阅读并同意相关协议,单击导入模板,在本地选择已经添加好的学生模板,单击导入。 导入后,右上角会提示“成员批量添加完成,请在下载的文件中查看详情”,已导入的账号会同步显示在当前页面。 导入完成后,系统会生成一个压缩包,解压可以查看导入结果。 若“是否创建成功”列显示“创建成功”,则该账号成功导入。 若导入结果中“是否创建成功”列显示“创建失败”,可能会出现下表情况。 表1 创建失败解决方法 提示信息 解决方法 此班级不存在 说明该班级在Classroom中不存在,需要在Classroom中新建该班级,重新导入模板。 已存在此用户名 说明该用户名在Classroom中已存在,需要修改模板中用户名,且用户名唯一,重新导入模板。 已存在此学号 说明该学号在Classroom中已存在,需要修改模板中学号,且学号唯一,重新导入模板。 邮箱已经存在 说明该邮箱在Classroom中已存在,需要修改模板中邮箱,且邮箱唯一,重新导入模板。 手机号已经存在 说明该手机号在Classroom中已存在,需要修改模板中手机号,且手机号唯一,重新导入模板。 (可选)添加成员时,有信息填写错误,有两种解决方式: 将已有成员删除,重新添加班级成员。 若不方便登录IAM用户,先删除成员,重新添加班级成员。 添加时学号、用户名、邮箱等信息不能与之前删除的成员信息相同。
  • 教师自主注册获取账号 教师进入华为云,并按照页面提示注册账号。 记录好注册时填写的手机号和密码。 登录Classroom官网(https://classroom.devcloud.huaweicloud.com/home),单击“登录”。 输入注册时填写的手机号和密码,单击“登录”。 登录Classroom官网后,单击页面右侧头像,单击“认证为管理员老师”。 教师在弹框中输入姓名、学号、职务、学校、学院、专业,勾选同意相关声明后单击“申请开课”,完成教师账号的创建。 父主题: 账号登录
  • 响应示例 状态码: 200 OK { "instances" : { "items_before" : 0, "size" : 10, "items" : [ { "updated_time" : "2020-03-17 15:21:36", "private" : false, "owner_id" : "d78cbac186b744899480f25bd022f...", "description" : "ddd", "cpu_memory" : "2U4G", "domain_name" : "IAM_DOMAIN_NAME_A", "is_temporary" : false, "stack_id" : "java", "id" : "instancewrqztsgn12imjq7e", "created_time" : "2020-01-06 15:25:04", "owner_name" : "ide_owner_name", "refresh_interval" : 30, "display_name" : "test001", "organization_id" : "6251b1ee539f4c02ad4b83daeda81633...", "name" : "ide_instance8bmjgqx6vfrb9e9n", "platform_id" : 1, "attributes" : { "cpu_limit" : "2", "pvc_quantity" : "5Gi", "memory_limit_bytes" : "4294967296" }, "pvc_quantity" : "5GB", "arch" : "x86", "region" : "cn-north-7", "status" : "STOPPED", "visitor_id" : "c78cbac186b744899480f25bd022f...", "visitor_name" : "ide_visitor_name", "visitor_domain_name" : "IAM_DOMAIN_NAME_B" } ], "empty" : false }, "status" : "success" }
  • URI GET /v2/instances 表1 Query参数 参数 是否必选 参数类型 描述 limit 否 Long 每页显示的条目数量最大值为100,最小值为1 offset 否 Long 偏移量,表示从此偏移量开始查询 is_temporary 否 Boolean 是否页面显示(以标签配置为准) label 否 String 标签 search 否 String 关键字查询(根据实例名,描述模糊查询) sort_dir 否 String 排序方式 asc/desc sort_key 否 String 排序字段。 display_name 实例名、status状态、pvc_quantity 存储容量、created_time 创建时间、stack_id 技术栈
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 result AccountStatus object 返回值 status String 状态 表3 AccountStatus 参数 参数类型 描述 cur_org_create_role Boolean 是否有创建实例权限 cur_org_open Boolean 账号所属租户是否开通服务 has_free_trial Boolean 免费试用 show_manage Boolean 是否有管理入口的权限 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 406 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码
  • 响应示例 状态码: 200 OK { "instance" : { "created_time" : "2020-01-07 11:25:56", "updated_time" : "2020-03-20 17:14:00", "private" : false, "owner_name" : "ide_owner_name", "refresh_interval" : 30, "owner_id" : "d78cbac186b744899480f25bd022f468...", "description" : "aaa", "cpu_memory" : "1U1G", "display_name" : "chen002", "domain_name" : "IAM_DOMAIN_NAME_A", "is_temporary" : false, "organization_id" : "6251b1ee539f4c02ad4b83daeda81633...", "stack_id" : "python", "name" : "ide-instance8bmjgqx6vfrb9e9n", "platform_id" : 1, "attributes" : { "cpu_limit" : "1", "pvc_quantity" : "5Gi", "memory_limit_bytes" : "1073741824" }, "pvc_quantity" : "5GB", "arch" : "x86", "id" : "instancewc0yk05c8y6jov0v", "region" : "cn-north-7", "status" : "STOPPED", "visitor_id" : "c78cbac186b744899480f25bd022f468...", "visitor_name" : "ide_visitor_name", "visitor_domain_name" : "IAM_DOMAIN_NAME_B" }, "status" : "success" }
  • 请求示例 创建IDE实例 POST https://{endpoint}/v2/6251b1ee539f4c02ad4b83daeda81633/instances { "display_name" : "testjava", "stack_id" : "java", "description" : "", "cpu_memory" : "2U4G", "pvc_quantity" : "5GB", "refresh_interval" : "30" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result result object 返回值 status String 状态 表5 result 参数 参数类型 描述 link String 链接 arch String cpu架构 x86|arm 枚举值: x86 arm id String 实例id private Boolean 是否私有平台 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 406 表8 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码
  • 创建IDE实例 检查实例名是否重复。 GET https://{endpoint}/v2/instances/duplicate?display_name=test 接口相关信息请参考查询IDE实例名是否重复。 确定待创建实例的技术栈。 GET https://{endpoint}/v2/stacks/tag 接口相关信息请参考按region获取标签所有技术栈。 查询所有技术栈,根据实际需要选择技术栈及其对应的规格(CPU、存储)。 { "stack" : { "tags" : [ "Java", "Maven", "CPP", "Vue", "ServiceComb", "Blockchain", "GO", "Node.js", "DCN", "Quantum", "JavaScript", "Ruby", "Python" ], "stack_list" : [ { "id" : 1, "stack_id" : "all", "creator" : "ide", "name" : "All in One", "description" : "支持Java、Python、JS/TS等多种语言", "scope" : "general", "config" : { "recipe" : { "content" : "hishell-all-in-one:alpha", "type" : "dockerimage" }, "attributes" : { "specs" : [ "2U4G" ], "volumes" : [ "5GB", "10GB", "20GB" ] } }, "tags" : [ "Java", "Maven", "CPP", "JavaScript", "Vue", "GO", "Node.js", "Ruby", "Python", "ServiceComb" ], "disable" : false, "arm_config" : { "recipe" : { "content" : "hishell-all-in-one:alpha", "type" : "dockerimage" }, "attributes" : { "specs" : [ "4U8G" ], "volumes" : [ "5GB", "10GB", "20GB" ] } } } ] }, "status" : "success" } stack_id:技术栈id。 config.attributes.specs:技术栈x86架构支持的内存。 config.attributes.volumes:技术栈x86架构支持的存储容量。 arm_config.attributes.specs:技术栈arm架构支持的内存。 arm _config.attributes.volumes:技术栈arm架构支持的存储容量。 查询技术栈费用。 可以参考获取技术栈费用信息,为cpu内存和存储容量价格和。 确定技术栈模板工程。 GET https://{endpoint}/v2/templates?stack_id=all 接口相关信息参考查询技术栈模板工程,根据实际需求选择模板工程。 { "templates" : [ { "template_id" : 5, "name" : "web-java-spring", "source" : { "location" : "git@codehub.alpha.devcloud.inhuawei.com:Demo00226/JavaWeb.git", "type" : "git", "parameters" : { } }, "display_name" : "web-java-spring", "path" : "/web-java-spring", "description" : "A basic example using Spring servlets. The app returns values entered into a submit form.", "project_type" : "maven", "region" : "cn-north-7", "tags" : [ "maven", "spring", "java", "web" ], "arch" : "x86,arm" } ], "status" : "success" } 其中,source.location为模板git仓地址。 创建IDE实例。 org_id:组织id(对应华为云账号的domainId)。 POST https://{endpoint}/v2/{org_id}/instances { "display_name" : "test", "stack_id" : "java", "description" : "", "cpu_memory" : "2U4G", "pvc_quantity" : "5GB", "refresh_interval" : 30 } display_name:实例名称。 stack_id:技术栈id。 cpu_memory:内存。 pvc_quantity:存储容量。 refresh_interval:实例生命周期。 响应如下,表示创建成功。 { "result" : { "link" : "https://****/cloudide/loading?instanceId=mpdrao", "arch" : "x86", "id" : "mpdrao" }, "status" : "success" } id:实例id。 link:实例访问地址。 访问接口返回的link地址,可以进入IDE实例。此处没有获取模板工程,如果要下载模板,可以指定模板git地址scmUrl。 https://****/cloudide/loading?scmName=test&scmUrl=git@***/JavaWeb.git&deleteRepoInfo=true&instanceId=mpdrao
  • 响应示例 状态码: 200 OK { "instances" : { "items_before" : 0, "size" : 10, "items" : [ { "updated_time" : "2020-03-17 15:21:36", "private" : false, "owner_id" : "d78cbac186b744899480f25bd022f...", "description" : "ddd", "cpu_memory" : "2U4G", "domain_name" : "IAM_DOMAIN_NAME_A", "is_temporary" : false, "stack_id" : "java", "id" : "instancewrqztsgn12imjq7e", "created_time" : "2020-01-06 15:25:04", "owner_name" : "ide_owner_name", "refresh_interval" : 30, "display_name" : "test001", "organization_id" : "6251b1ee539f4c02ad4b83daeda81633...", "name" : "ide_instance8bmjgqx6vfrb9e9n", "platform_id" : 1, "attributes" : { "cpu_limit" : "2", "pvc_quantity" : "5Gi", "memory_limit_bytes" : "4294967296" }, "pvc_quantity" : "5GB", "arch" : "x86", "region" : "cn-north-7", "status" : "STOPPED", "visitor_id" : "c78cbac186b744899480f25bd022f...", "visitor_name" : "ide_visitor_name", "visitor_domain_name" : "IAM_DOMAIN_NAME_B" } ], "empty" : false }, "status" : "success" }
  • URI GET /v2/{org_id}/instances 表1 路径参数 参数 是否必选 参数类型 描述 org_id 是 String 租户id(对应华为云账号的domainId) 表2 Query参数 参数 是否必选 参数类型 描述 is_temporary 否 Boolean 是否页面显示(以标签配置为准) limit 否 Long 每页显示的条目数量 10/15/30 offset 否 Long 偏移量,表示从此偏移量开始查询 search 否 String 关键字查询(根据实例名,描述模糊查询)
  • 请求消息头 附加请求头字段,如指定的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
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中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接口的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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 请求方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。 CodeArts IDE Online支持的自定义策略授权项如下所示: 公共查询权限 实例相关权限
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。 Region分为通用Region和专属Region: 通用Region指面向公共租户提供通用云服务的Region。 专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。 如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 文档修订记录 文档修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。 修订记录 发布日期 第十九次正式发布,本次变更说明如下: 新增接口:查询插件分类 新增接口:插件发布 新增接口:获取插件检测结果 新增接口:获取当前用户下的发布商列表 新增接口:文件上传归一化 新增接口:CreateLogin接口 新增接口:CreateJoinRequest接口 新增接口:CreateEvent接口 2023-04-11 第十八次正式发布,本次变更说明如下: CloudIDE服务更名为CodeArts IDE Online 2023-02-16 第十七次正式发布,本次变更说明如下: 新增接口:CreateAcceptance接口 新增接口:Create Request接口 新增接口:Show Result接口 2022-12-05 第十六次正式发布,本次变更说明如下: 新增接口:添加插件评论 新增接口:添加评论回复、回复评论回复 新增接口:添加新评星 新增接口:举报评论,举报回复 新增接口:删除评论 新增接口:删除回复 新增接口:查询插件列表 新增接口:查询插件详细信息 新增接口:查询插件评价 新增接口:查询插件评星 2022-11-23 第十五次正式发布,本次变更说明如下: 接口查询某个IDE实例更新:响应示例中删掉instance.is_private。 接口启动IDE实例更新:新增请求示例。 接口查询某个租户下的IDE实例列表更新:响应示例参数删除 instances.count、instances.items.is_private。 接口查询IDE实例列表更新:响应示例参数删除 instances.count、instances.items.is_private。 接口查询技术栈模板工程更新:响应参数中新增arch参数。 2022-08-24 第十四次正式发布,本次变更说明如下: 新增接口:查询某个IDE实例的状态。 接口创建IDE实例更新:删除参数instance_user_domain_name、instance_user_name。 接口外部第三方集成商创建IDE实例更新:删除参数instance_user_domain_name、instance_user_name。 2022-07-22 第十三次正式发布,本次变更说明如下: 新增接口:上传插件。 2022-07-01 第十二次正式发布,本次变更说明如下: 接口创建IDE实例更新:新增请求Body参数instance_domain_id和instance_user_id。 参数描述中“组织”修改改成“租户”。 2022-03-01 第十一次正式发布,本次变更说明如下: 刷新refresh_interval参数。 2022-01-26 第十次正式发布,本次变更说明如下: 新增接口:按region获取标签所有技术栈。 废弃接口:获取标签所有技术栈。 2022-01-11 第九次正式发布,本次变更说明如下: 修改接口查询某个IDE实例的响应参数。 修改接口查询某个租户下的IDE实例列表的响应参数。 修改接口查询IDE实例列表的响应参数。 更新部分接口的参数描述。 2021-12-20 第八次正式发布,本次变更说明如下: 新增接口:查询用户是否有权限访问某个IDE实例 新增接口:刷新IDE实例活跃状态 新增接口:查询ide实例对插件的授权情况 新增接口:设置ide实例对插件的授权 2021-12-13 第七次正式发布,本次变更说明如下: 新增权限策略和授权项相关内容。 2021-08-24 第六次正式发布,本次变更说明如下: 接口创建IDE实例更新:新增请求Body参数。 更新部分接口参数描述。 2021-01-27 第五次正式发布,本次变更说明如下: 错误码更新:错误响应Body体格式示例更新。 接口启动IDE实例更新:新增请求body参数。 接口创建IDE实例更新:请求Body参数新增port_id、private_ip、vpc_id三个参数。 新增接口:查询当前账号访问权限。 2020-12-29 第四次正式发布,本次变更说明如下: 接口创建IDE实例返回值更新。 接口外部第三方集成商创建IDE实例返回值更新。 2020-11-09 第三次正式发布,本次变更说明如下: 更新终端节点,新增北京一和大连。 2020-09-17 第二次正式发布,本次变更说明如下: 新增应用示例。 2020-07-31 第一次正式发布。 2020-07-07
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 result result object 返回值 status String 状态 表6 result 参数 参数类型 描述 link String 链接 arch String cpu架构 x86|arm 枚举值: x86 arm id String 实例id private Boolean 是否私有平台 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 406 表9 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码
  • 请求示例 创建名为“testjava”、Java技术栈、CPU规格为“2U4G”、PVC规则为“5GB”、自动休眠时长为30分钟、不在页面显示,用户ID和租户ID为“test”的实例。 POST https://{endpoint}/v2/instances { "instance_name" : "testjava", "stack_id" : "java", "description" : "", "cpu_memory" : "2U4G", "pvc_quantity" : "5GB", "refresh_time" : "30", "is_temporary" : false, "instance_user_id" : "test", "instance_user_domain_id" : "test" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 arch 否 String cpu架构 x86|arm 枚举值: x86 arm cpu_memory 是 String cpu规格.arm架构支持4U8G,x86架构支持1U1G,2U4G,2U8G 与技术栈配置的规格对应,可通过技术栈管理ListStacks接口获取。如果标签不为空,以标签配置的技术栈规格为准。 quantum技术栈,x86架构cpu规格为2U8G;其他技术栈,x86架构cpu规格为1U1G,2U4G 枚举值: 1U1G 2U4G 2U8G 4U8G description 否 String 描述。长度不操过100个字符 instance_name 是 String 实例名。 可以输入中文、数字、字母、下划线、点、破折号。长度介于3-100之间 instance_user_domain_id 否 String 租户id(对应华为云账号的domainId) instance_user_id 否 String 用户id is_temporary 否 Boolean 是否页面显示(以标签配置为准) plugins 否 Array of Plugin objects 插件列表 pvc_quantity 是 String PVC规格 5GB|10GB|20GB 枚举值: 5GB 10GB 20GB refresh_time 否 String 自动休眠时长。arm架构,自动休眠时长只能设置成30,60。x86架构可取值为30,60,240,1440和-1。除-1外,其它值的单位为“分钟”。实例无操作超过自动休眠时长后,将会被暂停(已保存的数据不会被删除)。-1表示实例不会自动停止。 stack_id 是 String 技术栈ID,通过技术栈管理ListStacks接口获取。 表4 Plugin 参数 是否必选 参数类型 描述 attribute 否 String 插件属性 name 否 String 插件名
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 IDE.00010070 Free user limit not Found! 免费资源的配置无法找到,请稍后再试 请稍后再试 403 IDE.00000004 not subscribe cloudide 未开通CloudIDE服务 开通CloudIDE服务 403 IDE.00000005 suspended 您的账户已欠费冻结 账户充值 403 IDE.00000007 not verified 账号未实名认证,请认证后再试 账号实名认证 403 IDE.00000010 account is not normal 账号状态异常,请稍后再试 检查账号是否异常 403 IDE.00010000 OPERATE LIMIT 操作受限,请确认后再操作 请确认是否有权限 403 IDE.00010085 User already exists 用户已经存在,请确认后再试 确认用户是否已存在 403 IDE.00010086 blackList user 黑名单用户不能添加 使用白名单用户 403 IDE.00010092 no such action 没有这样的动作 请确认是否有权限 406 IDE.00000011 unusual limit 15 minute 15分钟内累计输入用户名错误5次,请15分钟后再试 请15分钟后再试 406 IDE.00000097 parameter is null or error 参数错误 参数规格:参考相应的API文档 406 IDE.00010027 Instance name is exist 实例已经存在 修改实例名 406 IDE.00010028 Instance is Starting, Can't remove it now 实例正在启动,不能被删除,请稍后再试 实例停止后在删除 406 IDE.00010029 Instance has been deleted or is in deleting 实例已经被删除或正在删除,请勿重复删除 等待操作完成 406 IDE.00010030 instance not exist 实例不存在,请确认后操作 确认实例是否存在 406 IDE.00010048 active error:instance status error 实例状态异常 请稍后再试 406 IDE.00010054 Could not stop the ide, instance status is not running or starting 实例不在运行状态,无法停止,请稍后再试 实例运行后在停止 406 IDE.00010058 current user is not subUser in Domain 当前用户不是该组织下的子账号,请确认后操作 确认用户是否为组织下子账号 406 IDE.00010071 Free resource not enough! 免费资源不足,请稍后再试 使用其他免费技术栈资源或购买cloudide服务 406 IDE.00010087 not whiteList user 您不是白名单用户,请确认后操作 确认是否为白名单用户 406 IDE.00010091 Organization already existed 组织已经存在,请确认后操作 确认组织是否存在 406 IDE.00010101 INSTANCE_START_ERROR 实例启动失败,请稍后再试 请稍后再试 406 IDE.00010103 instance number limit 实例数量已经超过上限,请删除旧有实例后再试 删除旧实例 406 IDE.00010104 instance resource limit 实例资源受限,请稍后再试 请稍后再试 406 IDE.00010105 instance arm number limit arm实例数量已经超过上限,请删除旧有实例后再试 删除旧实例 406 IDE.00040001 config error 配置错误 检查配置 406 IDE.00040002 label is not correct 标签不正确 参数规格:参考相应的API文档 406 IDE.00040004 The character string length is incorrect. 字符串长度不匹配 检查字符串 406 IDE.00040005 Unsupported for spec platform or stack 不支持的平台或技术栈规格 参数规格:参考相应的API文档 500 IDE.00000040 outer http request error 外部HTTP请求错误 请稍后再试 500 IDE.00000100 Internal Server Error 服务异常,请稍后再试 服务异常,请稍后再试 500 IDE.00020001 get Repository By ProjectId error 获取仓库失败 请稍后再试 500 IDE.00020002 get Branches By RepoName error 获取分支失败 请稍后再试 500 IDE.00020003 get Related Project error 获取工程失败,请稍后再试 请稍后再试 500 IDE.00020004 get Project user error 获取工程用户信息失败,请稍后再试 请稍后再试
  • API概览 表1 CodeArts IDE Online接口说明 分类 接口 IDE实例管理 查询IDE实例名是否重复 查询某个IDE实例 修改IDE实例 删除IDE实例 启动IDE实例 停止IDE实例 创建IDE实例 查询某个租户下的IDE实例列表 查询IDE实例列表 外部第三方集成商创建IDE实例 查询用户是否有权限访问某个IDE实例 刷新IDE实例活跃状态 查询某个IDE实例的状态 技术栈管理 按region获取标签所有技术栈 获取技术栈计费信息 模板管理 查询技术栈模板工程 账号权限管理 查询当前账号访问权限 插件管理 查询ide实例对插件的授权情况 设置ide实例对插件的授权 插件市场 上传插件 添加插件评论 添加评论回复、回复评论回复 添加新评星 举报评论,举报回复 删除评论 删除回复 查询插件列表 查询插件详细信息 查询插件评价 查询插件评星 查询插件分类 插件发布 获取插件检测结果 获取当前用户下的发布商列表 文件上传归一化 codebreeze CreateAcceptance接口 Create Request接口 Show Result接口 CreateLogin接口 CreateJoinRequest接口 CreateEvent接口
  • 请求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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 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认证的详细说明请参见认证鉴权。 X-Project-ID:子项目ID,可选,在多项目场景中使用。 X-Domain-ID:账号ID。 对于获取用户Token获取请求认证接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
共100000条