

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

특정 Amazon DCV 세션에 대한 특정 사용자 연결에 대한 연결 정보를 가져옵니다.

**Topics**
+ [요청 파라미터](#request)
+ [응답 파라미터](#response)
+ [추가 정보](#additional-info)
+ [예제](#example)

## 요청 파라미터
<a name="request"></a>

**`SessionId`**  
연결 정보를 볼 세션의 ID입니다.  
유형: 문자열  
필수 항목 여부: 예

**`User`**  
연결 정보를 보려는 사용자의 이름입니다.  
유형: 문자열  
필수 항목 여부: 예

## 응답 파라미터
<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`**  
서버 엔드포인트의 웹 URL 경로입니다. HTTP 프로토콜에만 사용할 수 있습니다.  
**`WebUrlPath`**  
Amazon DCV 서버의 구성 파일 경로입니다.  
**`Tags`**  
서버에 할당된 태그입니다. 이 데이터 구조에는 다음과 같은 중첩된 응답 파라미터가 포함됩니다.    
**`Key`**  
태그 키  
**`Value`**  
태그 값

**`Type`**  
세션 유형입니다.

**`State`**  
세션의 현재 상태입니다. 가능한 값은 다음과 같습니다.  
+ `CREATING` - 브로커가 세션을 생성하는 중입니다.
+ `READY` - 세션이 클라이언트 연결을 수락할 준비가 되었습니다.
+ `DELETING` - 세션을 삭제 중입니다.
+ `DELETED` - 세션이 삭제되었습니다.
+ `UNKNOWN` - 세션 상태를 확인할 수 없습니다. 브로커와 에이전트가 통신하지 못할 수 있습니다.

**`CreationTime`**  
세션이 생성된 날짜와 시간입니다.

**`LastDisconnectionTime`**  
클라이언트의 마지막 연결 해제 날짜 및 시간입니다.

**`NumOfConnections`**  
세션에 대해 사용자에게 주어진 동시 연결 수입니다.

**`ConnectionToken`**  
세션 연결에 사용할 인증 토큰입니다.

## 추가 정보
<a name="additional-info"></a>

이 API에서 얻은 정보는 Amazon DCV 세션에 연결하기 위해 Amazon DCV 클라이언트로 전달될 수 있습니다.

Amazon DCV 웹 클라이언트의 경우 브라우저에서 열 수 있는 URL을 구축할 수 있습니다. URL의 형식은 다음과 같습니다.

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

Amazon DCV 네이티브 클라이언트의 경우 `dcv://` 스키마를 사용하여 URL을 작성할 수 있습니다. Amazon DCV 네이티브 클라이언트가 설치되면 해당 클라이언트가 시스템에 `dcv://` URL 핸들러로 등록됩니다. URL의 형식은 다음과 같습니다.

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

**참고**  
 Amazon EC2를 사용하는 경우 IP 주소는 퍼블릭 IP 주소여야 합니다. 구성에서 게이트웨이 뒤에 Amazon DCV 호스트가 있는 경우 SessionConnectionData API에서 반환되는 주소 대신 게이트웨이 주소를 지정하세요.

## 예제
<a name="example"></a>

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

**요청**  
다음 예제에서는 사용자 이름이 `user1`인 사용자와 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')
```

**응답**  
다음은 출력 샘플입니다.

```
{
    "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"
}
```

------