

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

# WebSocket 终端节点 APIs
<a name="api-endpoint"></a>

以下是带有 WebRTC 终端节点的 Amazon Kinesis Vide WebSocket o Streams： APIs

**Topics**
+ [

# ConnectAsMaster
](ConnectAsMaster.md)
+ [

# ConnectAsViewer
](ConnectAsViewer.md)

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

以主设备的身份连接到由终端节点指定的信令通道。任何 WebSocket投诉库都可用于连接到从 `GetSignalingChannelEndpoint` API 调用中获得的安全 websocket (WSS) 端点。信令通道的 Amazon 资源名称 (ARN) 必须作为查询字符串参数提供。有单独的终端节点可用于作为主设备和查看器进行连接。如果多个客户端作为主设备连接到特定通道，则最近的请求优先。新的连接元数据将覆盖现有连接元数据。

## 请求
<a name="ConnectAsMaster-request"></a>

```
"X-Amz-ChannelARN": "string"
```
+ **X-Amz-ChannelARN** - 信令通道的 ARN。
  + 类型：字符串
  + 长度限制：最小长度为 1。长度上限为 1024。
  + 模式：`arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`
  + 是否必需：是

## 响应
<a name="ConnectAsMaster-response"></a>

200 OK HTTP 状态代码以及一个空正文。

## 错误
<a name="ConnectAsMaster-errors"></a>
+ InvalidArgumentException

  指定的参数超出其限制、不受支持或无法使用。有关更多信息，请参阅返回的消息。

  HTTP 状态代码：400
+ AccessDeniedException

  未授权调用方访问给定的通道或令牌已过期。

  HTTP 状态代码：403
+ ResourceNotFoundException

  通道不存在。

  HTTP 状态代码：404
+ ClientLimitExceededException

  当以过高的速率调用 API 时。有关更多信息，请参阅[带有 WebRTC 服务配额的亚马逊 Kinesis Video Streams](kvswebrtc-limits.md)中的[错误重试和指数退缩](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。 AWS

  HTTP 状态代码：400

## 局限/限制
<a name="ConnectAsMaster-limits"></a>

如果以过高的速率调用 API，此 API 将在账户级别受到限制。受到限制时返回错误以及 `ClientLimitExceededException`。

## 幂等
<a name="ConnectAsMaster-idempotent"></a>

如果指定的 clientId 和通道已存在连接，则使用新信息更新连接元数据。

## 重试行为
<a name="ConnectAsMaster-retry"></a>

这被视为新的 API 调用。

## 并发调用
<a name="ConnectAsMaster-concurrent"></a>

允许并发调用，对于每个调用都会更新连接元数据。

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

以查看器身份连接到由终端节点指定的信令通道。任何 WebSocket兼容的库都可用于连接到从 `GetSignalingChannelEndpoint` API 调用中获得的安全 websocket (WSS) 端点。信令通道的 Amazon 资源名称 (ARN) 和客户端 ID 必须作为查询字符串参数提供。有单独的终端节点可用于作为主设备和查看器进行连接。如果存在与请求指定的 `ClientId` 相同的现有连接，则新连接优先。新信息将覆盖连接元数据。

## 请求
<a name="ConnectAsViewer-request"></a>

```
"X-Amz-ChannelARN": "string",
"X-Amz-ClientId": "string"
```
+ **X-Amz-ChannelARN** - 信令通道的 ARN。
  + 类型：字符串
  + 长度限制：最小长度为 1。最大长度为 1024
  + 模式：`arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`
  + 是否必需：是
+ **X-Amz-ClientId**-客户端的唯一标识符。
  + 类型：字符串
  + 长度限制：最小长度为 1。最大长度为 256。
  + 模式：`^(?!(?i)AWS_.*)[a-zA-Z0-9_.-]`
**注意**  
`X-Amz-ClientId`一开始不行`AWS_`。
  + 是否必需：是

## 响应
<a name="ConnectAsViewer-response"></a>

200 OK HTTP 状态代码以及一个空正文。

## 错误
<a name="ConnectAsViewer-errors"></a>
+ InvalidArgumentException

  指定的参数超出其限制、不受支持或无法使用。有关更多信息，请参阅返回的消息。

  HTTP 状态代码：400
+ AccessDeniedException

  未授权调用方访问给定的通道或令牌已过期。

  HTTP 状态代码：403
+ ResourceNotFoundException

  通道不存在。

  HTTP 状态代码：404
+ ClientLimitExceededException

  当以过高的速率调用 API 时，或者连接到通道的查看器数量超过支持的最大数量时。有关更多信息，请参阅[带有 WebRTC 服务配额的亚马逊 Kinesis Video Streams](kvswebrtc-limits.md)中的[错误重试和指数退缩](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。 AWS

  HTTP 状态代码：400

## 局限/限制
<a name="ConnectAsViewer-limits"></a>

如果以过高的速率调用该 API，或当连接到该通道的查看器数量超过支持的最大数量时，会在账户级别限制该 API。受到限制时返回错误以及 `ClientLimitExceededException`。

## 幂等
<a name="ConnectAsViewer-idempotent"></a>

如果指定的 `ClientId` 和通道已存在连接，则使用新信息更新连接元数据。

## 重试行为
<a name="ConnectAsViewer-retry"></a>

这被视为新的 API 调用。

## 并发调用
<a name="ConnectAsViewer-concurrent"></a>

允许并发调用，对于每个调用都会更新连接元数据。