

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

# GetIceServerConfig
<a name="API_signaling_GetIceServerConfig"></a>

 **참고:**이 API를 사용하기 전에 `GetSignalingChannelEndpoint` API를 호출하여 HTTPS 엔드포인트를 요청해야 합니다. 그런 다음 `GetIceServerConfig` API 요청에서 엔드포인트와 리전을 지정합니다.

WebRTC 연결을 구성하는 데 사용할 수 있는 URIs, 사용자 이름 및 암호를 포함한 대화형 연결 설정(ICE) 서버 구성 정보를 가져옵니다. ICE 구성 요소는이 구성 정보를 사용하여 NAT(TURN) 릴레이 서버를 중심으로 릴레이를 사용한 순회 인증을 포함하여 WebRTC 연결을 설정합니다.

TURN은 peer-to-peer 애플리케이션의 연결을 개선하는 데 사용되는 프로토콜입니다. TURN은 클라우드 기반 릴레이 서비스를 제공하여 하나 이상의 피어가 직접 peer-to-peer 연결을 사용할 수 없는 경우에도 연결을 설정할 수 있도록 합니다. 자세한 내용은 [TURN 서비스에 대한 액세스를 위한 REST API를](https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00) 참조하세요.

 피어 중 하나가 신호 채널을 통해 직접 peer-to-peer 연결을 설정할 수 없는 경우이 API를 호출하여 폴백 메커니즘을 설정할 수 있습니다. 이 API를 호출하려면 신호 채널의 Amazon 리소스 이름(ARN)을 지정해야 합니다.

## Request Syntax
<a name="API_signaling_GetIceServerConfig_RequestSyntax"></a>

```
POST /v1/get-ice-server-config HTTP/1.1
Content-type: application/json

{
   "ChannelARN": "string",
   "ClientId": "string",
   "Service": "string",
   "Username": "string"
}
```

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

요청은 URI 파라미터를 사용하지 않습니다.

## 요청 본문
<a name="API_signaling_GetIceServerConfig_RequestBody"></a>

요청은 JSON 형식으로 다음 데이터를 받습니다.

 ** [ChannelARN](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-ChannelARN"></a>
구성된 피어 간의 peer-to-peer 연결에 사용할 신호 채널의 ARN입니다.  
유형: 문자열  
길이 제약: 최소 길이 1. 최대 길이는 1024입니다.  
패턴: `arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
필수 여부: 예

 ** [ClientId](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-ClientId"></a>
뷰어의 고유 식별자입니다. 신호 채널 내에서 고유해야 합니다.  
유형: 문자열  
길이 제약 조건: 최소 길이는 1입니다. 최대 길이는 256입니다.  
패턴: `[a-zA-Z0-9_.-]+`   
필수 여부: 아니요

 ** [Service](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-Service"></a>
원하는 서비스를 지정합니다. 현재는 유일하게 유효한 값`TURN`입니다.  
타입: 문자열  
유효 값: `TURN`   
필수 여부: 아니요

 ** [Username](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-Username"></a>
자격 증명과 연결할 선택적 사용자 ID입니다.  
유형: 문자열  
길이 제약 조건: 최소 길이는 1입니다. 최대 길이는 256입니다.  
패턴: `[a-zA-Z0-9_.-]+`   
필수 여부: 아니요

## 응답 구문
<a name="API_signaling_GetIceServerConfig_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "IceServerList": [ 
      { 
         "Password": "string",
         "Ttl": number,
         "Uris": [ "string" ],
         "Username": "string"
      }
   ]
}
```

## 응답 요소
<a name="API_signaling_GetIceServerConfig_ResponseElements"></a>

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

 ** [IceServerList](#API_signaling_GetIceServerConfig_ResponseSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-response-IceServerList"></a>
ICE 서버 정보 객체의 목록입니다.  
타입: [IceServer](API_signaling_IceServer.md) 객체 배열

## 오류
<a name="API_signaling_GetIceServerConfig_Errors"></a>

모든 작업에 공통되는 오류에 대한 내용은 [일반적인 오류 유형](CommonErrors.md) 섹션을 참조하세요.

 ** ClientLimitExceededException **   
허용된 클라이언트 호출 한도를 초과하여 요청이 제한되었습니다. 나중에 호출해 보십시오.  
HTTP 상태 코드: 400

 ** InvalidArgumentException **   
이 입력 파라미터의 값이 잘못되었습니다.  
HTTP 상태 코드: 400

 ** InvalidClientException **   
지정된 클라이언트가 잘못되었습니다.  
HTTP 상태 코드: 400

 ** NotAuthorizedException **   
호출자는이 작업을 수행할 권한이 없습니다.  
HTTP 상태 코드: 401

 ** ResourceNotFoundException **   
지정된 리소스를 찾을 수 없습니다.  
HTTP 상태 코드: 404

 ** SessionExpiredException **   
클라이언트 세션이 만료된 경우. 클라이언트가 연결되면 세션은 45분 동안 유효합니다. 클라이언트는 메시지 전송/수신을 계속하려면 채널에 다시 연결해야 합니다.  
HTTP 상태 코드: 400

## 참고
<a name="API_signaling_GetIceServerConfig_SeeAlso"></a>

언어별 AWS SDKs
+  [AWS 명령줄 인터페이스 V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS .NET V4용 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS Go v2용 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS Java V2용 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS PHP V3용 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS Python용 SDK](https://docs.aws.amazon.com/goto/boto3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 