

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

# SendIceCandidate
<a name="SendIceCandidate"></a>

將 ICE 候選項傳送給目標收件者。先決條件是用戶端必須已連線到從 `GetSignalingChannelEndpoint` API 取得的 WebSocket 端點。

如果傳送者類型是檢視器，則會將 ICE 候選項傳送給主節點。此外，不需要指定 `RecipientClientId`，系統會忽略 `RecipientClientId` 的任何指定值。如果寄件者類型是主節點，ICE 候選項目會傳送至 指定的目標`RecipientClientId`。在此情況下， `RecipientClientId` 是必要的輸入。

允許主節點用戶端應用程式將 ICE 候選項傳送給任何檢視器，但只允許檢視器用戶端應用程式將 ICE 候選項傳送給主節點用戶端應用程式。如果檢視器用戶端應用程式嘗試將 ICE 候選項傳送給另一個檢視器用戶端應用程式，則「不會」執行該請求。

## 請求
<a name="SendIceCandidate-request"></a>

```
{
    "action": "ICE_CANDIDATE",
    "recipientClientId": "string",
    "messagePayload": "string",
    "correlationId": "string"
}
```
+ **action** - 傳送的訊息類型。
  + 類型：ENUM
  + 有效值：`SDP_OFFER`、`SDP_ANSWER`、`ICE_CANDIDATE`
  + 長度限制：長度下限為 1。長度上限為 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 必要：是
+ **recipientClientId** - 收件者的唯一識別符。
  + 類型：字串
  + 長度限制：長度下限為 1。長度上限為 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 必要：否
+ **messagePayload** - base64 編碼的訊息內容。
  + 類型：字串
  + 長度限制：長度下限為 1。長度上限為 10K。
  + 必要：是
+ **correlationId** - 訊息的唯一識別符。
  + 類型：字串
  + 長度限制：長度下限為 1。長度上限為 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 必要：否

## 回應
<a name="SendIceCandidate-response"></a>

如果訊號後端成功接收訊息，則不會傳回任何回應。如果服務遇到錯誤，且請求中指定 `correlationId`，則會以 `STATUS_RESPONSE` 訊息形式傳回錯誤詳細資訊。如需詳細資訊，請參閱[非同步訊息接收](async-message-reception-api.md)。

## 錯誤
<a name="SendIceCandidate-errors"></a>
+ InvalidArgumentException

  指定的參數超過其限制、不支援或無法使用。如需詳細資訊，請參閱傳回的訊息。

  HTTP 狀態碼：400
+ ClientLimitExceededException

  以太高的速率叫用 API 時。如需詳細資訊，請參閱 [Amazon Kinesis Video Streams with WebRTC 服務配額](kvswebrtc-limits.md) 和[錯誤重試和指數退避。 AWS](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)

  HTTP 狀態碼：400

## 限制/節流
<a name="SendIceCandidate-limits"></a>

如果以太高的速率叫用 API，則會在帳戶層級節流此 API。節流時會以 `ClientLimitExceededException` 傳回錯誤。

## 等冪
<a name="SendIceCandidate-idempotent"></a>

此 API 不是等冪。

## 重試行為
<a name="SendIceCandidate-retry"></a>

這視為新的 API 呼叫。

## 並行呼叫
<a name="SendIceCandidate-concurrent"></a>

允許並行呼叫。每次呼叫會傳送一次提議。