
# 创建交互式会话 - CreateRaySession
#### 功能介绍
创建一个交互式会话。本接口为同步接口，用于Notebook等交互式工具连接Ray集群。联邦用户认证场景下，会返回含联邦用户身份对应的凭据名称。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0003.html)。
#### URI
POST /v2/workspaces/{workspace_id}/ray-sessions
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                         |
|:---|:---|:---|:---|
| workspace_id | 是    | String | **参数解释**：工作空间ID。 **约束限制**：不涉及。 **取值范围**：长度为1\~36的英文字符、数字和中划线的组合。 **默认取值**：不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Auth-Token   | 是    | String | **参数解释**：租户Token。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。        |
| X-Client-Token | 否    | String | **参数解释**：作业事务 ID，防止重复提交。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| name          | 是    | String | **参数解释**：会话名称。 **约束限制**：不涉及。 **取值范围**：长度为1\~47的英文字母、数字、中划线。 **默认取值**：不涉及。                      |
| endpoint_name | 是    | String | **参数解释**：端点名称。 **约束限制**：不涉及。 **取值范围**：长度为1\~63个字符。包含小写字母、数字、中划线的组合。字母开头、字母或数字结尾。 **默认取值**：不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                   | 参数类型   | 描述                                                                                                     |
|:---|:---|:---|
| session_id           | String | **参数解释**：会话ID。 **取值范围**：长度为1\~36的英文字符、数字和中划线的组合。                   |
| secret_name          | String | **参数解释**：凭据名称。 **取值范围**：长度为1\~63个字符。包含小写字母、数字、中划线的组合。字母开头、字母或数字结尾。 |
| ray_grpc_server_port | String | **参数解释**：Ray Cluster端点的GRPC连接端口。 **取值范围**：不涉及。                     |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                           |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。    |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：401**
表6响应Body参数 
| 参数           | 参数类型   | 描述                                                                           |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。    |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：404**
表7响应Body参数 
| 参数           | 参数类型   | 描述                                                                           |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。    |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：408**
表8响应Body参数 
| 参数           | 参数类型   | 描述                                                                           |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。    |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：500**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                           |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。    |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为0\~4096个字符。 |
   
#### 请求示例
创建一个交互式会话，用于Notebook等交互式工具连接Ray集群。
```
POST /v2/workspaces/{workspace_id}/ray-sessions
{
  "name" : "your_session_name",
  "endpoint_name" : "your_ray_endpoint_name"
}
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "session_id" : "ac8111bf-3601-xxxx-xxxx-b41d3e636a4e",
  "secret_name" : "your_secret_name",
  "ray_grpc_server_port" : "10001"
}
```
**状态码：400**
非法请求。
```
{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}
```
**状态码：401**
未经授权。
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
请求被拒绝访问。
```
{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
所请求的资源不存在。
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
请求超时。
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
服务器内部错误。
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | 请求成功。      |
| 400 | 非法请求。      |
| 401 | 未经授权。      |
| 403 | 请求被拒绝访问。   |
| 404 | 所请求的资源不存在。 |
| 408 | 请求超时。      |
| 500 | 服务器内部错误。   |
   
