

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

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

 **注意：**在使用此 API 之前，您必须调用 `GetSignalingChannelEndpoint` API 来请求 HTTPS 终端节点。然后，您可以在 `GetIceServerConfig` API 请求中指定终端节点和区域。

获取交互式连接机构 (ICE) 服务器配置信息 URIs，包括可用于配置 WebRTC 连接的用户名和密码。ICE 组件使用此配置信息来设置 WebRTC 连接，包括使用 NAT（TURN）中继服务器周围的中继遍历进行身份验证。

TURN 是一种用于改善 peer-to-peer应用程序连接性的协议。通过提供基于云的中继服务，TURN 可确保即使一个或多个对等体无法直接 peer-to-peer连接，也可以建立连接。有关更多信息，请参阅[用于访问 TURN 服务的 REST API](https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00)。

 您可以调用此 API 来建立回退机制，以防任何一个对等体无法通过信令通道建立直接 peer-to-peer连接。要调用此 API，您必须指定信令通道的 Amazon 资源名称 (ARN)。

## 请求语法
<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>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS 适用于.NET 的 SDK V4](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 v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS JavaScript V3 版软件开发工具包](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 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS Python 软件开发工具包](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) 