创建和修改工作空间
本节通过调用一系列API,以创建和修改工作空间为例介绍ModelArts API的使用流程。
概述
创建和修改工作空间的流程如下:
前提条件
- 已获取IAM的EndPoint和ModelArts的EndPoint。
- 确认服务的部署区域,获取项目名称和ID、获取账号名和ID和获取用户名和ID。
操作步骤
- 调用认证鉴权接口获取用户的Token。
- 请求消息体:
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为项目名,代表服务的部署区域。
- 返回状态码“201 Created”,在响应Header中获取“X-Subject-Token”的值即为Token,如下所示:
x-subject-token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
- 请求消息体:
- 调用创建工作空间接口创建一个工作空间。
- 请求消息体:
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。
- 返回状态码“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,记录该值用于后续步骤。
- 请求消息体:
- 调用查询工作空间详情接口根据工作空间ID查询工作空间的详细信息。
- 请求消息体:
URI:GET https://{endpoint}/v1/{project_id}/workspaces/{workspaces_id}
请求消息头:X-auth-Token →MIIZmgYJKoZIhvcNAQcCoIIZizCCGYcCAQExDTALBglghkgBZQMEAgEwgXXXXXX...
其中,加粗的斜体字段需要根据实际值填写,“workspace_id”为2获取的工作空间ID。
- 返回状态码“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”表示工作空间的状态正常。
- 请求消息体:
- 调用修改工作空间接口根据工作空间ID修改工作空间的名称、描述、授权类型等信息。
- 请求消息体:
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”填写要修改的工作空间名称和描述。
- 返回状态码“200 OK”表示修改完成,响应Body如下所示:
{ "workspace_id": "f3deca1406da4910a50f3919940b9bda" }
- 请求消息体:
- 当不需要该工作空间时,可以调用删除工作空间接口删除工作空间。