

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Obtém informações de conexão para a conexão de um usuário específico com uma sessão especificada do Amazon DCV. 

**Topics**
+ [Parâmetros de solicitação](#request)
+ [Parâmetros de resposta](#response)
+ [Informações adicionais](#additional-info)
+ [Exemplo](#example)

## Parâmetros de solicitação
<a name="request"></a>

**`SessionId`**  
O ID da sessão para a qual exibir as informações de conexão.  
Tipo: String  
Obrigatório: Sim

**`User`**  
O nome do usuário para o qual exibir as informações de conexão.  
Tipo: String  
Obrigatório: Sim

## Parâmetros de resposta
<a name="response"></a>

**`Id`**  
O ID exclusivo da sessão.

**`Name`**  
O nome da sessão.

**`Owner`**  
O proprietário da sessão.

**`Server`**  
Informações sobre o servidor no qual a sessão está sendo executada. Essa estrutura de dados inclui os seguintes parâmetros de resposta aninhada:    
**`Ip`**  
O endereço IP ou o nome do host do servidor Amazon DCV.  
**`Hostname`**  
O nome do host do host do servidor Amazon DCV.  
**`Port`**  
A porta pela qual o servidor Amazon DCV se comunica com os clientes do Amazon DCV.  
**`Endpoints`**  
Informações sobre os endpoints do servidor Amazon DCV. Essa estrutura de dados inclui os seguintes parâmetros de resposta aninhada:    
**`IpAddress`**  
O endereço IP do endpoint do servidor.  
**`Port`**  
A porta do endpoint do servidor.  
**`Protocol`**  
O protocolo usado pelo endpoint do servidor. Os possíveis valores incluem:  
+ `HTTP`— O endpoint usa o protocolo WebSocket (TCP).
+ `QUIC` — O endpoint usa o protocolo QUIC (UDP).  
**`WebUrlPath`**  
O caminho do URL da web do endpoint do servidor. Disponível somente para o protocolo HTTP.  
**`WebUrlPath`**  
O caminho para o arquivo de configuração do servidor Amazon DCV.  
**`Tags`**  
As tags atribuídas ao servidor. Essa estrutura de dados inclui os seguintes parâmetros de resposta aninhada:    
**`Key`**  
A chave de tags.  
**`Value`**  
O valor da tag.

**`Type`**  
O tipo de sessão.

**`State`**  
O estado atual da sessão. Os valores possíveis são:  
+ `CREATING` - o Agente está criando a sessão.
+ `READY` - a sessão está pronta para aceitar conexões de clientes.
+ `DELETING` - a sessão está sendo excluída.
+ `DELETED` - a sessão foi excluída.
+ `UNKNOWN` - incapaz de determinar o estado da sessão. O Agente e o Atendente podem não conseguir se comunicar.

**`CreationTime`**  
A data e a hora em que a sessão foi criada.

**`LastDisconnectionTime`**  
A data e a hora da última desconexão do cliente.

**`NumOfConnections`**  
O número de conexões simultâneas que o usuário tem com a sessão.

**`ConnectionToken`**  
O token de autenticação usado para conectar a sessão.

## Informações adicionais
<a name="additional-info"></a>

As informações obtidas dessa API podem ser transmitidas para um cliente do Amazon DCV para se conectar à sessão do Amazon DCV.

No caso do cliente da Web do Amazon DCV, você pode criar um URL que possa ser aberto no navegador. O URL tem o seguinte formato: 

```
https://{Ip}:{Port}{WebUrlPath}?authToken={ConnectionToken}#{SessionId}.
```

No caso do cliente nativo do Amazon DCV, você pode criar um URL com o esquema `dcv://`. Quando o cliente nativo Amazon DCV é instalado, ele se registra no sistema como manipulador do. `dcv://` URLs O URL tem o seguinte formato: 

```
dcv://{Ip}:{Port}{WebUrlPath}?authToken={ConnectionToken}#{SessionId}.
```

**nota**  
 Se você estiver usando o Amazon EC2, o endereço IP deverá ser público. Se sua configuração tiver hosts Amazon DCV atrás de um gateway, especifique o endereço do gateway em vez daquele retornado pela SessionConnectionData API. 

## Exemplo
<a name="example"></a>

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

**Solicitação**  
O exemplo a seguir obtém informações de conexão de um usuário com nome de usuário `user1` e sessão com ID `sessionId12345`. 

```
def get_session_connection_api():
    api_instance = swagger_client.GetSessionConnectionDataApi(swagger_client.ApiClient(get_client_configuration()))
    set_request_headers(api_instance.api_client)
    return api_instance


def get_url_to_connect(api_response):
    ip_address = api_response.session.server.ip
    port = api_response.session.server.port
    web_url_path = api_response.session.server.web_url_path
    connection_token = api_response.connection_token
    session_id = api_response.session.id
    url = f'https://{ip_address}:{port}{web_url_path}?authToken={connection_token}#{session_id}'
    return url


def get_session_connection_data(session_id, user):
    api_response = get_session_connection_api().get_session_connection_data(session_id=session_id, user=user)
    url_to_connect = get_url_to_connect(api_response)
    print('Get Session Connection Data Response:', api_response)
    print('URL to connect: ', url_to_connect)


def main():
    get_session_connection_data('sessionId12345', 'user1')
```

**Resposta**  
Esta é uma saída de exemplo.

```
{
    "Session": {
        "Id": "sessionId12345",
        "Name": "a session name",
        "Owner": "an owner 1890",
        "Server": {
            "Ip": "1.1.1.123",
            "Hostname": "server hostname",
            "Port": "1222",
            "endpoints": [
                {
                    "port": 8443,
                    "web_url_path": "/",
                    "protocol": "HTTP"
                },
                {
                    "port": 9443,
                    "web_url_path": "/",
                    "protocol": "HTTP"
                },
                {
                    "port": 8443,
                    "web_url_path": "",
                    "protocol": "QUIC"
                }
            ],
            "WebUrlPath": "/path",
            "Tags": [
                {
                    "Key": "os",
                    "Value": "windows"
                },
                {
                    "Key": "ram",
                    "Value": "4gb"
                }
            ]
        },
        "Type": "VIRTUAL",
        "State": "UNKNOWN",
        "CreationTime": "2020-10-06T10:15:31.633Z",
        "LastDisconnectionTime": "2020-10-06T10:15:31.633Z",
        "NumOfConnections": 2
    },
    "ConnectionToken": "EXAMPLEiOiJmOWM1YTRhZi1jZmU0LTQ0ZjEtYjZlOC04ZjY0YjM4ZTE2ZDkiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkY3ZTZXNzaW9uSWQiOiJTZXNzaW9uSWQxODk5IiwiZGN2U2Vzc2lvbk93bmVyIjoiYW4gb3duZXIgMTEXAMPLEmRjdlNlc3Npb25Vc2VyIjoibXlVc2VyIiwiZXhwIjoxNjAxOTg1NDA4LCJpYXQiOjE2MDE5ODE4MDgsImp0aSI6IjgwMjljNDUwLTQwMDUtNDJhMy04YTQzLWFmZTM3ZTc4NTQ0ZCJ9.N0RRRT1FZuBgex_0iFwKBAdHdM2JSSADc-tngiKXevUxhhJvm3BPJYRs9NPE4GCJRTc13EXAMPLEIxNEPPh5IMcVmROfU1WKPnry4ypPTp3rsZ7YWjCTSfs1GoN3R_nLFyAxfhPD2yY-Kqtpd5GH0D-E8FwsedV-Q2bRQ4y9y1q0MgFU4QjaSMypUuYR0YjkCaoainjmEZew4A33fG40wATrBvoivBiNWdNpytHX2CDOuk_k0k_DWeZjMvv9jF1f5EXAMPLEm9h5zj_Nb1PKKfBSx9_O6gSJwC9UD-h_GaMgHmltqBIA4jdPD7i0CmC2e7413KFy-EQ4Ej1cM7RjLwhFuWpKWAVJxogJjYpfoKKaPo4KxvJjJIPYhkscklINQpe2W5rnlxCq7sC7ptcGw17DUobP7egRv9H37VD8SrkLyq-hK1G4G8erHvl9HIrTR9_c884fNrTCC8DvC062e4KYdLkAhhJmboN9CAGIGFyd2c1AY_CzzvDL0EXAMLE"
}
```

------