本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GetIceServerConfig
注意:在使用此 API 之前,您必須呼叫 GetSignalingChannelEndpoint
API 來要求 HTTPS 端點。然後,您可以在 GetIceServerConfig
API 請求中指定端點和區域。
獲取交互式連接建立(ICE)服務器配置信息,包括 URI,用戶名和密碼,可用於配置 WebRTC 技術連接。ICE 元件會使用此組態資訊來設定 WebRTC 連線,包括使用周圍 NAT (TURN) 中繼伺服器的周遊使用繼電器進行驗證。
TURN 是一種用於改善 peer-to-peer應用程序連接性的協議。TURN 通過提供基於雲的轉送服務,確保即使一個或多個對等端點無法直接連接,也可以建立 peer-to-peer連接。有關更多信息,請參閱 REST API 以訪問轉向服務
如果其中一個對等方無法透過訊號通道建立直接 peer-to-peer 連線,您可以叫用此 API 來建立後援機制。您必須指定信令通道的 Amazon 資源名稱 (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
-
信令通道的 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
-
檢視器的唯一識別碼。在信號通道中必須是唯一的。
類型:字串
長度限制:長度下限為 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
-
呼叫者沒有執行此操作的授權。
狀態碼:4
- ResourceNotFoundException
-
找不到指定的資源。
HTTP 狀態碼:404
- SessionExpiredException
-
如果用戶端工作階段已過期。用戶端連線後,工作階段的有效期為 45 分鐘。客戶端應重新連接到通道以繼續發送/接收消息。
HTTP 狀態碼:400
另請參閱
如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: