更新时间: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"
      }

相关文档

网站地图