华为云用户手册

  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中user_name为用户名,domain_name为用户所属的账号名,user_password为用户登录密码,cn-north-1为项目名称,获取方法请参见获取用户名、获取账号名和账号ID和获取项目名称。 scope参数定义了Token的作用域,示例中获取的Token仅能访问project下的资源。Modelarts使用区域的Endpoint(非全局 域名 )调用该接口,推荐您将scope设置为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": "user_name", "password": "user_password", "domain": { "name": "domain_name" } } } }, "scope": { "project": { "name": "cn-north-1" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”的值,就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成: {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表1 请求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 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取“华北-北京一”区域的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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 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不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中“auth.scope”的取值需要选择“project”,请求示例如下所示。 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "user_name", "password": "user_password", "domain": { "name": "domain_name" } } } }, "scope": { "project": { "name": "project_name" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://modelarts.cn-north-1.myhuaweicloud.com/v1/{project_id}/services Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中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表示错误描述信息,具体请参见错误码。
  • 资源管理接口 表13 配置管理 API 说明 查询OS的配置参数 获取ModelArts OS服务的配置参数,如网络网段,用户资源配额等。 表14 插件模板管理 API 说明 查询插件模板 获取指定插件模板的详细信息。 表15 节点管理 API 说明 查询节点列表 查询资源池中的节点列表。 批量删除节点 批量删除指定资源池中的节点,资源池中至少保留一个节点。 表16 事件管理 API 说明 查询事件列表 查询事件列表。 表17 网络管理 API 说明 创建网络资源 创建网络资源。 查询网络资源列表 查询网络资源列表。 查询网络资源 查询指定网络资源的详情信息。 删除网络资源 删除指定网络资源。 更新网络资源 更新指定网络资源。 表18 资源指标管理 API 说明 查询资源实时利用率 查询当前项目下所有资源池的实时利用率。 表19 资源池管理 API 说明 创建资源池 用户创建资源池。 查询资源池列表 查询资源池列表。 查询资源池 查询指定资源池的详细信息。 删除资源池 删除指定的资源池。 更新资源池 更新指定的资源池。 资源池监控 获取资源池的监控信息。 资源池统计 获取资源池的统计信息。 表20 资源规格管理 API 接口 查询资源规格列表 查询资源规格列表。 表21 资源池作业管理 API 说明 查询专属资源池作业列表 查询专属资源池作业列表。 查询专属资源池作业统计信息 查询专属资源池作业统计信息。
  • 服务管理接口 表12 服务管理接口 API 说明 部署服务 部署服务。 查询服务列表 查询服务列表。 查询服务详情 查询服务详情,根据服务ID查询服务详情。 启动停止边缘节点服务实例 启动停止边缘节点服务实例。 更新服务配置 更新模型服务。 查询服务监控信息 查询服务监控信息。 查询服务更新日志 查询实时服务更新日志。 查询服务事件日志 查询服务事件日志,包含服务的操作记录及部署过程中的关键动作、部署失败原因。 删除服务 删除服务。 查询支持的服务部署规格 查询支持的服务部署规格列表。 查询专属资源池列表 查询专属资源池列表。
  • DevServer管理接口 表22 DevServer管理接口 API 说明 查询用户所有DevServer实例详情 查询用户所有DevServer实例详情。 创建DevServer实例 创建DevServer实例。 查询DevServer实例详情 查询DevServer实例详情。 删除DevServer实例 删除DevServer实例。 实时同步用户所有DevServer实例状态 实时同步用户所有DevServer实例状态。 启动DevServer实例 启动DevServer实例。 停止DevServer实例 停止DevServer实例。
  • APP认证管理接口 表11 APP认证管理接口 API 说明 获取APP列表 获取APIG APP基本信息列表,用户只能获取自己创建的APP信息。 创建APP 创建API网关应用(简称APP)。 查询APP详情 查询指定的APP详情。 删除APP 删除指定的APP。 增加AppCode 为指定API网关应用创建新的AppCode。 重置AppCode 重置指定API网关应用的指定的AppCode。 删除AppCode 删除指定API网关应用的指定的AppCode。 重置AppSecret 重置指定API网关应用的AppSecret。 获取用户绑定APP的api列表 获取用户绑定APP的API列表。 注册API并授权给APP 注册API并将API授权给APP。 删除API 删除指定的API,只有对API所属服务有删除权限的用户才可以删除API。 授权API至APP 将指定的API授权给APP。 更新API授权 更新API的授权关系。 解除API对APP的授权 解除指定的API对APP的授权。 获取API授权关系列表 获取指定的API与APP授权关系列表。
  • 训练管理接口 表6 算法管理接口 API 说明 创建算法 创建一个算法。 查询算法列表 查询算法列表。 查询算法详情 根据算法ID查询指定算法。 更新算法 更新算法。 删除算法 删除算法。 查询超参搜索算法列表 查询超参搜索算法列表。 表7 训练作业管理接口 API 说明 创建训练作业 创建训练作业。 查询训练作业详情 查询训练作业详情。 更新训练作业描述 更新训练作业描述。 删除训练作业 删除训练作业。 终止训练作业 终止训练作业,只可终止创建中、等待中、运行中的作业。 查询训练作业指定任务的日志(预览) 查询训练作业指定任务的日志(预览)。 查询训练作业指定任务的日志(OBS链接) 查询训练作业指定任务的日志(OBS链接),可全量查看或直接下载。 查询训练作业指定任务的运行指标 查询训练作业指定任务的运行指标。 查询训练作业列表 根据指定查询条件查询用户创建的训练作业列表。 查询超参搜索所有trial的结果 查询超参搜索所有trial的结果。 查询超参搜索某个trial的结果 根据传入的trial_id,查询指定trial的搜索结果。 获取超参敏感度分析结果 获取超参敏感度分析结果的汇总表。 获取某个超参敏感度分析图像的路径 获取某个超参敏感度分析图像的保存路径。 提前终止自动化搜索作业的某个trial 提前终止自动化搜索作业的某个trial。 获取自动化搜索作业yaml模板的信息 获取自动化搜索作业yaml模板的信息。 获取自动化搜索作业yaml模板的内容 获取自动化搜索作业yaml模板的内容。 表8 训练作业标签管理接口 API 说明 创建训练作业标签 创建训练作业标签,支持批量添加,当添加的标签key已存在,则覆盖该标签的value。 删除训练作业标签 删除训练作业标签,支持批量删除。 查看训练作业标签 查询训练作业标签。 表9 资源和引擎规格接口 API 说明 获取训练作业支持的公共规格 获取训练作业支持的公共规格。 获取训练作业支持的AI预置框架 获取训练作业支持的AI预置框架。
  • 开发环境接口 表5 开发环境 类型 API 说明 开发环境实例管理 查询Notebook实例列表 可按需查询满足条件的开发环境实例列表。 创建Notebook实例 根据指定的实例规格、AI引擎镜像、存储等相关参数,创建一个开发环境实例。 查询Notebook实例详情 查询开发环境实例详情。 更新Notebook实例 更新开发环境实例。 删除Notebook实例 删除开发环境实例,删除的资源包括Notebook容器以及对应的所有存储资源。 通过运行的实例保存成容器镜像 运行的实例可以保存成容器镜像,保存的镜像中,安装的依赖包(pip包)不丢失,VSCode远程开发场景下,在Server端安装的插件不丢失。 查询支持的有效规格列表 查询支持的有效规格列表。 查询支持可切换规格列表 查询Notebook实例可切换的规格列表。 查询运行中的开发环境可用时长 查询运行中的开发环境可用时长。 Notebook时长续约 延长运行中的开发环境时长。 启动Notebook实例 启动Notebook实例。 停止Notebook实例 停止Notebook实例。 动态挂载OBS 获取动态挂载OBS实例信息列表 获取动态挂载OBS实例信息列表。 动态挂载OBS 在运行态Notebook实例,动态挂载OBS。 获取动态挂载OBS实例详情 获取动态挂载OBS实例详情。 动态卸载OBS 动态卸载OBS。 标签管理 添加资源标签 给指定Notebook资源添加标签,支持批量添加,当添加的标签key已存在,则覆盖该标签的value。 删除资源标签 删除指定Notebook资源的标签,支持批量删除。 镜像管理 查询支持的镜像列表 根据指定条件分页查询满足条件的所有镜像。 注册 自定义镜像 将用户自定义的镜像注册到ModelArts镜像管理。 查询用户镜像组列表 查询用户镜像信息概览,以镜像名称作为聚合的信息。 查询镜像详情 查询镜像详情。 删除镜像 删除镜像对象,对于个人私有镜像可以通过参数一并删除SWR镜像内容。
  • 工作流管理 表1 Workflow API 说明 获取Workflow列表 获取Workflow列表信息。 新建Workflow 创建Workflow。 删除Workflow 通过ID删除Workflow。 查询Workflow 通过ID查询Workflow详情。 修改Workflow 更新Workflow信息。 总览Workflow 获取Workflow统计信息。 查询Workflow待办事项 获取Workflow待办列表。 在线服务鉴权 计费工作流在线主服务鉴权。 创建在线服务包 计费工作流购买资源。 表2 WorkflowExecution API 说明 获取Execution列表 查询Workflow下的执行记录列表。 新建Workflow执行 创建工作流执行。 删除Execution 通过ID删除Execution。 查询Execution 通过ID,查询Execution详情。 更新Execution 通过ID更新Execution。 操作Execution 操作Execution。 操作StepExecution 操作STEP。 获取工作流节点度量信息 获取工作流节点的度量信息。 表3 WorkflowSubscription API 说明 新建消息订阅 创建工作消息订阅。 删除Subscription 删除消息订阅。 查询Subscription详情 查询订阅信息。 更新Subscription 更新订阅信息。 表4 WorkflowSchedule API 说明 创建工作流定时调度 创建Workflow定时调度。 查询工作流定时调度详情 查询工作流调度详情。 删除工作流定时调度信息 删除工作流调度信息。 更新工作流定时调度信息 更新WorkflowSchedule信息。
  • 响应参数 状态码: 200 表11 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of UploadSampleResp objects 批量添加样本的响应列表。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表12 UploadSampleResp 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 info String 描述信息。 name String 样本文件名。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • 请求示例 批量添加样本 { "samples" : [ { "name" : "2.jpg", "data" : "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAA1AJUDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL" } ] }
  • 响应示例 状态码: 200 修改工作空间配额成功的响应参数。 { "quotas" : [ { "max_quota" : 60000, "update_time" : 1574339372000, "resource" : "exemlProject.gpu_duration", "quota" : 20, "min_quota" : -1, "name_cn" : "自动学习(图像分类、物体检测、声音分类)训练时长", "unit_cn" : "分钟", "name_en" : "ExeML training duration (image classification, object detection, and sound classification)", "unit_en" : "minute" } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 quotas Array of WorkspaceQuotasUpdateResponse objects 工作空间配额数据。 表6 WorkspaceQuotasUpdateResponse 参数 参数类型 描述 max_quota Integer 配额允许设置的最大值。 update_time Integer 最后修改时间,UTC。如用户未修改过该资源配额,则该值默认为该工作空间的创建时间。 resource String 资源的唯一标识。 quota Integer 当前配额值。配额值为-1代表不限制配额。 min_quota Integer 配额允许设置的最小值。 name_cn String 配额名称(中文)。 unit_cn String 数量单位(中文)。 name_en String 工作空间ID,系统生成的32位UUID,不带橫线。默认的工作空间id为'0'。 unit_en String 数量单位(英文)。
  • URI PUT /v1/{project_id}/workspaces/{workspace_id}/quotas 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workspace_id 是 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 quotas 是 Array of quotas objects 工作空间配额数据。 表4 quotas 参数 是否必选 参数类型 描述 resource 是 String 资源标识。 quota 是 Integer 要修改的配额值。配额值为正整数或-1,-1代表不限制配额。配额值范围不能超过配额的最大值与最小值。可通过调用查询工作空间配额接口查询配额的最大值。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 grants 否 Array of grants objects 训练作业使用的数据集。不可与data_url或dataset_id/dataset_version_id同时使用。 auth_type 否 String 授权类型。可选值有PUBLIC、PRIVATE、INTERNAL。默认值为PUBLIC。 PUBLIC:租户内部公开访问。 PRIVATE:仅创建者和主账号可访问。 INTERNAL:创建者、主账号、指定IAM子账号可访问,需要与grants参数配合使用。 name 否 String 工作空间名称。长度限制为4-64字符,支持中文、大小写字母、数字、中划线和下划线。同时'default'为系统预留的默认工作空间名称,用户无法自己创建名为'default'的工作空间。 description 否 String 工作空间描述,默认为空。长度限制为0-256字符。 表4 grants 参数 是否必选 参数类型 描述 user_id 否 String IAM用户ID。此参数与user_name必填一个。两者都填优先使用user_id。 user_name 否 String IAM用户名称。此参数与user_id必填一个。
  • URI PUT /v1/{project_id}/workspaces/{workspace_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workspace_id 是 String 工作空间ID。获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。
  • 请求示例 PUT https://{endpoint}/v1/{project_id}/workspaces/ccd05d1a553b4e188ea878e7dcb85e47 { "name" : "my_workspace", "description" : "It is my workspace", "auth_type" : "INTERNAL", "grants" : [ { "user_name" : "my_iam_user" } ] }
  • 请求示例 批量更新团队标注样本的标签 { "samples" : [ { "sample_id" : "0a0939d6d3c48a3d2a2619245943ac21", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] }, { "sample_id" : "0e1b5a16a5a577ee53aeb34278a4b3e7", "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "labels" : [ { "name" : "tulips" } ] } ] }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 results Array of BatchResponse objects 批量更新样本标签的响应结果列表。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败 表8 BatchResponse 参数 参数类型 描述 error_code String 操作失败的错误码。 error_msg String 操作失败的错误信息。 success Boolean 操作是否执行成功。可选值如下: true:执行成功 false:执行失败
  • URI PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/data-annotations/samples 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 标注任务ID。
  • URI PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id} 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 团队标注任务ID。
  • 请求示例 更新团队标注任务 { "workforces_config" : { "workforces" : [ { "workforce_id" : "3frbQ90hb8ZKksAhyR8", "workers" : [ { "email" : "xxx@xxx.com" }, { "email" : "xxx@xxx.com" } ] } ] } }
  • URI PUT /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/status 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 团队标注任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 locale 是 String 语言。可选值如下: zh-cn:中文 en-us:英文(默认值)
  • 请求参数 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 Integer 验收行为。可选值如下: 0:通过全部样本 1:驳回全部样本 2:取消验收 3:查看验收冲突的样本列表 4:只通过单张验收通过的样本及未验收的样本 5:只通过单张验收通过的样本 overwrite_last_result 否 Boolean 是否覆盖已标注数据。可选值如下: true:覆盖已标注数据 false:不覆盖已标注数据(默认值)
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 created_at 否 String 创建时间。 subscription_id 否 String 订阅ID,唯一性标识。创建订阅时,后台自动生成。 topic_urns 是 Array of strings 订阅的主题。 entity 否 String 订阅的主体。 events 否 Array of strings 订阅的事件。
  • 请求示例 更新订阅信息 PUT https://{endpoint}/v2/{project_id}/workflows/{workflow_id}/subscription/f1642618-43eb-4ab1-a0b1-9cc58418 { "topic_urns" : [ "fengbin26" ], "entity" : "238947895793875835893490", "events" : [ "*:failed,completed", "job_step:stop" ] }
共100000条