

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# DescribeSessions
<a name="DescribeSessions"></a>

描述一个或多个 Amazon DCV 会话。

**Topics**
+ [请求参数](#request)
+ [响应参数](#response)
+ [示例](#example)

## 请求参数
<a name="request"></a>

**`SessionIds`**  
要描述 IDs 的会话。  
类型：字符串  
必需：否

**`NextToken`**  
用于检索下一页结果的标记。  
类型：字符串  
必需：否

**`Filters`**  
应用于请求的额外筛选条件。支持的筛选条件包括：  
+ tag:key - 分配给会话的标签。
+ owner - 会话所有者。
类型：字符串  
必需：否

## 响应参数
<a name="response"></a>

**`Id`**  
会话的唯一 ID。

**`Name`**  
会话的名称。

**`Owner`**  
会话的所有者。

**`Server`**  
有关运行会话的服务器的信息。该数据结构包括以下嵌套的响应参数：    
**`Ip`**  
Amazon DCV 服务器主机的 IP 地址。  
**`Hostname`**  
Amazon DCV 服务器主机的主机名。  
**`Port`**  
Amazon DCV 服务器与 Amazon DCV 客户端通信时使用的端口。  
**`Endpoints`**  
有关 Amazon DCV 服务器端点的信息。该数据结构包括以下嵌套的响应参数：    
**`IpAddress`**  
服务器终端节点的 IP 地址。  
**`Port`**  
服务器终端节点的端口。  
**`Protocol`**  
服务器终端节点使用的协议。可能的值包括：  
+ `HTTP`— 端点使用 WebSocket (TCP) 协议。
+ `QUIC` - 终端节点使用 QUIC（UDP）协议。  
**`WebUrlPath`**  
服务器终端节点的 Web URL 路径。仅适用于 HTTP 协议。  
**`Tags`**  
分配给服务器的标签。该数据结构包括以下嵌套的响应参数：    
**`Key`**  
标签键。  
**`Value`**  
标签值。

**`Type`**  
会话的类型。

**`State`**  
会话的当前状态。可能的值有：  
+ `CREATING` - Broker 正在创建会话。
+ `READY` - 会话准备好接受客户端连接。
+ `DELETING` - 正在删除会话。
+ `DELETED` - 已删除会话。
+ `UNKNOWN` - 无法确定会话的状态。Broker 和 Agent 可能无法通信。

**`Substate`**  
会话的当前子状态。可能的值有：  
+ `SESSION_PLACING` - 会话正在等待放置在可用的 DCV 服务器上。
+ `PENDING_PREPARATION` - 会话已创建但不可用；已链接到 DCV 服务器。

**`CreationTime`**  
创建会话的日期和时间。

**`LastDisconnectionTime`**  
上次客户端断开连接的日期和时间。

**`NumOfConnections`**  
活动客户端连接数。

**`StorageRoot`**  
指定用于会话存储的文件夹的路径。有关 Amazon DCV 会话存储的更多信息，请参阅《Amazon DCV 管理员指南》中的[启用会话存储](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-storage.html)。**  
类型：字符串  
必需：否

## 示例
<a name="example"></a>

------
#### [ Python ]

**请求**  
以下示例描述了由 `user1` 拥有并具有 `os=windows` 标签的会话。

```
from swagger_client.models.describe_sessions_request_data import DescribeSessionsRequestData
from swagger_client.models.key_value_pair import KeyValuePair

def get_sessions_api():
    api_instance = swagger_client.SessionsApi(swagger_client.ApiClient(get_client_configuration()))
    set_request_headers(api_instance.api_client)
    return api_instance

def describe_sessions(session_ids=None, next_token=None, tags=None, owner=None):
    filters = list()
    if tags:
        for tag in tags:
            filter_key_value_pair = KeyValuePair(key='tag:' + tag['Key'], value=tag['Value'])
            filters.append(filter_key_value_pair)
    if owner:
        filter_key_value_pair = KeyValuePair(key='owner', value=owner)
        filters.append(filter_key_value_pair)

    request = DescribeSessionsRequestData(session_ids=session_ids, filters=filters, next_token=next_token)
    print('Describe Sessions Request:', request)
    api_instance = get_sessions_api()
    api_response = api_instance.describe_sessions(body=request)
    print('Describe Sessions Response', api_response)

def main():
    describe_sessions(
        owner='user1',
        tags=[{'Key': 'os', 'Value': 'windows'}])
```

**响应**  
以下是示例输出。

```
{
    "Sessions": [
        {
            "Id": "SessionId1897",
            "Name": "a session name",
            "Owner": "an owner 1890",
            "Server": {
                "Ip": "1.1.1.123",
                "Hostname": "server hostname",
                "Port": "1222",
                "Endpoints": [
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 8443,
                        "WebUrlPath": "/",
                        "Protocol": "HTTP"
                    },
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 9443,
                        "WebUrlPath": "/",
                        "Protocol": "HTTP"
                    },
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 8443,
                        "WebUrlPath": "",
                        "Protocol": "QUIC"
                    }
                ],
                "Tags": [
                    {
                        "Key": "os",
                        "Value": "windows"
                    },
                    {
                        "Key": "ram",
                        "Value": "4gb"
                    }
                ]
            },
            "Type": "VIRTUAL",
            "State": "READY",
            "CreationTime": "2020-10-06T10:15:31.633Z",
            "LastDisconnectionTime": "2020-10-06T10:15:31.633Z",
            "NumOfConnections": 2,
            "StorageRoot" : "/storage/root"
        },
        {
            "Id": "SessionId1895",
            "Name": "a session name",
            "Owner": "an owner 1890",
            "Server": {
                "Ip": "1.1.1.123",
                "Hostname": "server hostname",
                "Port": "1222",
                "Endpoints": [
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 8443,
                        "WebUrlPath": "/",
                        "Protocol": "HTTP"
                    },
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 9443,
                        "WebUrlPath": "/",
                        "Protocol": "HTTP"
                    },
                    {
                        "IpAddress": "x.x.x.x",
                        "Port": 8443,
                        "WebUrlPath": "",
                        "Protocol": "QUIC"
                    }
                ],
                "Tags": [
                    {
                        "Key": "os",
                        "Value": "windows"
                    },
                    {
                        "Key": "ram",
                        "Value": "4gb"
                    }
                ]
            },
            "Type": "VIRTUAL",
            "State": "DELETING",
            "CreationTime": "2020-10-06T10:15:31.633Z",
            "LastDisconnectionTime": "2020-10-06T10:15:31.633Z",
            "NumOfConnections": 2,
            "StorageRoot" : "/storage/root"
        }
    ]
}
```

------