本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GetIceServerConfig
注意
在使用此 API 之前,您必须调用GetSignalingChannelEndpoint
用于请求 HTTPS 终端节点的 API。然后,您可以在您的中指定终端节点和区域GetIceServerConfig
API 请求。
获取交互式连接机构 (ICE) 服务器配置信息,包括可用于配置 WebRTC 连接的 URI、用户名和密码。ICE 组件使用此配置信息来设置 WebRTC 连接,包括在 NAT (TURN) 中继服务器周围使用中继对 Traversal 进行身份验证。
TURN 是一种用于改善连接性的协议peer-to-peer应用程序。通过提供基于云的中继服务,TURN确保即使一个或多个对等方无法直接建立连接,也可以建立连接peer-to-peer连接。有关更多信息,请参见用于访问 TURN 服务的 REST API
您可以调用此 API 来建立备用机制,以防任一对等方都无法建立直接peer-to-peer通过信号信道进行连接。您必须指定信号通道的亚马逊资源名称 (ARN) 才能调用此 API。
请求语法
POST /v1/get-ice-server-config HTTP/1.1
Content-type: application/json
{
"ChannelARN": "string
",
"ClientId": "string
",
"Service": "string
",
"Username": "string
"
}
URI 请求参数
该请求不使用任何 URI 参数。
请求正文
请求接受采用 JSON 格式的以下数据。
- ChannelARN
-
用于的信号通道的 ARNpeer-to-peer配置的对等方之间的连接。
类型:字符串
长度限制:最小长度为 1。长度上限为 1024。
模式:
arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
必需:是
- ClientId
-
查看者的唯一标识符。在信令信道内必须是唯一的。
类型:字符串
长度限制:最小长度为 1。长度上限为 256。
模式:
[a-zA-Z0-9_.-]+
必需:否
- Service
-
指定所需的服务。目前,
TURN
是唯一的有效值。类型:字符串
有效值:
TURN
必需:否
- Username
-
与凭证关联的可选用户 ID。
类型:字符串
长度限制:最小长度为 1。长度上限为 256。
模式:
[a-zA-Z0-9_.-]+
必需:否
响应语法
HTTP/1.1 200
Content-type: application/json
{
"IceServerList": [
{
"Password": "string",
"Ttl": number,
"Uris": [ "string" ],
"Username": "string"
}
]
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回的以下数据。
- IceServerList
-
ICE 服务器信息对象列表。
类型:IceServer 对象数组
错误
有关所有操作的常见错误的信息,请参见常见错误。
- ClientLimitExceededException
-
您的请求受到限制,因为您已超过允许的客户端调用次数限制。稍后再试打电话。
HTTP 状态代码:400
- InvalidArgumentException
-
此输入参数的值无效。
HTTP 状态代码:400
- InvalidClientException
-
指定的客户端无效。
HTTP 状态代码:400
- NotAuthorizedException
-
呼叫者无权执行此操作。
HTTP 状态码:401
- ResourceNotFoundException
-
找不到指定的资源。
HTTP 状态代码:404
- SessionExpiredException
-
如果客户端会话已过期。连接客户端后,会话有效期为 45 分钟。客户端应重新连接到频道以继续发送/接收消息。
HTTP 状态代码:400
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: