

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

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

获取一个或多个 Amazon DCV 会话的屏幕截图。

要修改图像格式，请在 Session Manager Broker 配置中配置 `session-screenshot-format` 参数。请参阅《Amazon DCV Session Manager 管理员指南》**中的 [Broker 配置文件](https://docs.aws.amazon.com/dcv/latest/sm-admin/broker-file.html)。

如果未指定 `GetSessionScreenshots` 请求的 `MaxWidth` 或 `MaxHeight` 参数，则会使用在 Session Manager Broker 配置文件中设置的 `session-screenshot-max-width` 和 `session-screenshot-max-height` 值。要修改这些参数，同样参阅《Amazon DCV Session Manager 管理员指南》**中的 [Broker 配置文件](https://docs.aws.amazon.com/dcv/latest/sm-admin/broker-file.html)。

屏幕截图分辨率的上限值受限于远程会话分辨率。如果将 `MaxWidth` 和 `MaxHeight` 参数设置为高于当前远程会话分辨率的值，则生成的屏幕截图仍会被限制在实际会话分辨率范围内。

**注意**  
要通过访问控制台修改这些值，请参阅《Amazon DCV 访问控制台管理员指南》**中的 [Web 客户端配置文件](https://docs.aws.amazon.com/dcv/latest/access-console/web-client-config-files.html)。要使用 Session Manager CLI 修改这些值，请参阅《Amazon DCV CLI 指南》**中的 `get-session-screenshots`。

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

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

**`SessionId`**  
要从中获取屏幕截图的 Amazon DCV 会话的 ID。  
类型：字符串  
是否必需：是

**`MaxWidth`**  
会话屏幕截图的最大宽度（以像素为单位）。如果未指定，则会应用 Session Manager Broker 配置中的值。如果提供了，那么它必须是一个大于 0 的数字。  
类型：整数  
必需：否

**`MaxHeight`**  
会话屏幕截图的最大高度（以像素为单位）。如果未指定，则会应用 Session Manager Broker 配置中的值。如果提供了，那么它必须是一个大于 0 的数字。  
类型：整数  
是否必需：是

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

**`RequestId`**  
请求的唯一 ID。

**`SuccessfulList`**  
有关成功屏幕截图的信息。该数据结构包括以下嵌套的响应参数：    
**`SessionScreenshot`**  
有关屏幕截图的信息。该数据结构包括以下嵌套的响应参数：    
**`SessionId`**  
从中获取屏幕截图的 Amazon DCV 会话的 ID。  
**`Images`**  
有关图像的信息。该数据结构包括以下嵌套的响应参数：    
**`Format`**  
图像的格式。可能的值包括：`jpeg` 和 `png`。  
**`Data`**  
屏幕截图 Base64 编码格式。  
**`CreationTime`**  
获取屏幕截图的日期和时间。  
**`Primary`**  
指示屏幕截图是否为 Amazon DCV 会话的主显示器。

**`UnsuccessfulList`**  
有关失败屏幕截图的信息。该数据结构包括以下嵌套的响应参数：    
**`GetSesionScreenshotRequestData`**  
失败的原始请求。    
**`SessionId`**  
从中获取屏幕截图的 Amazon DCV 会话的 ID。  
**`FailureReason`**  
失败的原因。

**`GetSessionScreenshotRequestData`**  
失败的原始请求。

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

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

**请求**  
以下示例将从两个会话（`sessionId1` 和 `sessionId2`）获取屏幕截图，最大宽度设置为 800，最大高度设置为 600。会话 `sessionId2` 不存在并导致失败。

```
from swagger_client.models.describe_servers_request_data import GetSessionScreenshotRequestData

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

def get_session_screenshots(session_ids, max_width=None, max_height=None):
    request = [GetSessionScreenshotRequestData(session_id=session_id, max_width=max_width, max_height=max_height) for session_id in session_ids]
    print('Get Session Screenshots Request:', request)
    api_instance = get_sessions_api()
    api_response = api_instance.get_session_screenshots(body=request)
    print('Get Session Screenshots Response:', api_response)

def main():
    get_session_screenshots(["sessionId1", "sessionId2"]), 800, 600)
```

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

```
{
    "RequestId": "542735ef-f6ab-47d8-90e5-23df31d8d166",
    "SuccessfulList": [
        {
            "SessionScreenshot": {
                "SessionId": "sessionId1",
                "Images": [
                    {
                        "Format": "png",
                        "Data": "iVBORw0KGgoAAAANSUhEUgAAAEXAMPLE",
                        "CreationTime": "2021-03-30T15:47:06.822Z",
                        "Primary": true
                    }
                ]
            }
        }
    ],
    "UnsuccessfulList": [
        {
            "GetSessionScreenshotRequestData": {
                "SessionId": "sessionId2"
            },
            "FailureReason": "Dcv session not found."
        }
    ]
}
```

------