更新时间:2024-05-30 GMT+08:00
分享

创建和修改工作空间

本节通过调用一系列API,以创建和修改工作空间为例介绍ModelArts API的使用流程。

概述

创建和修改工作空间的流程如下:

  1. 调用认证鉴权接口获取用户Token,在后续的请求中需要将Token放到请求消息头中作为认证。
  2. 调用创建工作空间接口创建一个工作空间。
  3. 调用查询工作空间详情接口根据工作空间ID查询工作空间的详细信息。
  4. 调用修改工作空间接口根据工作空间ID修改工作空间的名称、描述、授权类型等信息。
  5. 当不需要该工作空间时,可以调用删除工作空间接口删除工作空间。

前提条件

操作步骤

  1. 调用认证鉴权接口获取用户的Token。
    1. 请求消息体:

      URI格式:POST https://{iam_endpoint}/v3/auth/tokens

      请求消息头:Content-Type →application/json

      请求Body:
      {
        "auth": {
          "identity": {
            "methods": ["password"],
            "password": {
              "user": {
                "name": "user_name", 
                "password": "user_password",
                "domain": {
                  "name": "domain_name"  
                }
              }
            }
          },
          "scope": {
            "project": {
              "name": "cn-north-1"  
            }
          }
        }
      }
      其中,加粗的斜体字段需要根据实际值填写:
      • iam_endpoint为IAM的终端节点。
      • user_name为IAM用户名。
      • user_password为用户登录密码。
      • domain_name为用户所属的账号名。
      • cn-north-1为项目名,代表服务的部署区域。
    2. 返回状态码“201 Created”,在响应Header中获取“X-Subject-Token”的值即为Token,如下所示:
      x-subject-token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
  2. 调用创建工作空间接口创建一个工作空间。
    1. 请求消息体:

      URI:POST https://{endpoint}/v1/{project_id}/workspaces

      请求消息头:

      • X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      • Content-Type →application/json

      请求Body:

      {
      	"name": "test_workspace",
      	"description": "It is my workspace",
      	"enterprise_project_id": "0",
      	"auth_type": "PUBLIC",
      	"grants": [
      		{
      		"user_id": "aa7efa8801024da08a7fa92dc0******",
      		"user_name": ""
      		}
      		]
      }
      其中,加粗的斜体字段需要根据实际值填写:
      • endpoint为ModelArts的终端节点。
      • project_id为用户的项目ID。
      • “X-auth-Token”是上一步获取到的Token值。
      • “user_id”为用户ID。
    2. 返回状态码“200 OK”,响应Body如下所示:
      {
          "id": "f3deca1406da4910a50f3919940b9bda",
          "name": "test_workspace",
          "description": "It is my workspace",
          "owner": "test166",
          "create_time": 1625453558000,
          "update_time": 1625453558000,
          "enterprise_project_id": "0",
          "enterprise_project_name": "default",
          "auth_type": "public",
          "status": "NORMAL",
          "status_info": ""
      }

      “id”为新建的工作空间ID,记录该值用于后续步骤。

  3. 调用查询工作空间详情接口根据工作空间ID查询工作空间的详细信息。
    1. 请求消息体:

      URI:GET https://{endpoint}/v1/{project_id}/workspaces/{workspaces_id}

      请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...

      其中,加粗的斜体字段需要根据实际值填写,“workspace_id”2获取的工作空间ID。

    2. 返回状态码“200 OK”,响应Body如下所示:
      {
          "id": "f3deca1406da4910a50f3919940b9bda",
          "name": "test_workspace",
          "description": "It is my workspace",
          "owner": "test166",
          "create_time": 1625453558000,
          "update_time": 1625453558000,
          "enterprise_project_id": "0",
          "enterprise_project_name": "default",
          "auth_type": "public",
          "status": "NORMAL",
          "status_info": ""
      }

      根据响应可以了解工作空间的详细信息,其中“status”“NORMAL”表示工作空间的状态正常。

  4. 调用修改工作空间接口根据工作空间ID修改工作空间的名称、描述、授权类型等信息。
    1. 请求消息体:

      URI:PUT https://{endpoint}/v1/{project_id}/workspaces/{workspaces_id}

      请求消息头:
      • X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
      • Content-Type →application/json

      请求Body:

      {
      	"name": "new_name",
      	"description": "update description",
      	"auth_type":"INTERNAL",
      	"grants":
      	[
      		{"user_id": "aa7efa8801024da08a7fa92dc0******"}
      	]
      }

      其中,加粗的斜体字段需要根据实际值填写,“name”“description”填写要修改的工作空间名称和描述。

    2. 返回状态码“200 OK”表示修改完成,响应Body如下所示:
      {
          "workspace_id": "f3deca1406da4910a50f3919940b9bda"
      }
  5. 当不需要该工作空间时,可以调用删除工作空间接口删除工作空间。
    1. 请求消息体:

      URI:DELETE https://{endpoint}/v1/{project_id}/workspaces/{workspaces_id}

      请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...

      其中,加粗的斜体字段需要根据实际值填写。

    2. 返回状态码“200 OK”表示删除成功,响应Body如下所示:
      {
          "workspace_id": "f3deca1406da4910a50f3919940b9bda"
      }

相关文档