

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

 **注意：**使用此 API 之前，您必須呼叫 `GetSignalingChannelEndpoint` API 來請求 HTTPS 端點。然後，您可以在 `GetIceServerConfig` API 請求中指定端點和區域。

取得互動式連線建立 (ICE) 伺服器組態資訊，包括 URI URIs 、使用者名稱和密碼，可用於設定 WebRTC 連線。ICE 元件使用此組態資訊來設定 WebRTC 連線，包括使用圍繞 NAT 的轉送 (TURN) 轉送伺服器進行周遊驗證。

TURN 是一種通訊協定，用於改善peer-to-peer應用程式的連線能力。透過提供雲端型轉送服務，TURN 可確保即使一或多個對等連線無法直接peer-to-peer連線。如需詳細資訊，請參閱 [REST API for Access To TURN Services](https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00)。

 您可以叫用此 API 來建立備用機制，以防任一對等連線無法透過訊號管道建立直接peer-to-peer連線。您必須指定訊號頻道的 Amazon Resource Name (ARN)，才能叫用此 API。

## 請求語法
<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>
訊號頻道的 ARN，用於設定peer-to-peer連線。  
類型：字串  
長度限制：長度下限為 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中使用此 API 的詳細資訊，請參閱下列內容：
+  [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 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS 適用於 Go 的 SDK v2](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 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS 適用於 Kotlin 的 SDK](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 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 