CreateStream - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

CreateStream

创建新的 Kinesis 视频流

创建新流时,Kinesis Video Streams 会为其分配一个版本号。更改流的元数据时,Kinesis Video Streams 会更新该版本。

CreateStream 是一个异步操作。

有关服务工作方式的信息,请参阅工作方式

您必须有 KinesisVideo:CreateStream 操作的权限。

请求语法

POST /createStream HTTP/1.1 Content-type: application/json { "DataRetentionInHours": number, "DeviceName": "string", "KmsKeyId": "string", "MediaType": "string", "StreamName": "string", "Tags": { "string" : "string" } }

URI 请求参数

该请求不使用任何 URI 参数。

请求正文

请求接受采用 JSON 格式的以下数据。

DataRetentionInHours

您想要保留流中的数据的小时数。Kinesis Video Streams 将数据保留在与流关联的数据存储中。

默认值为 0,表示流不保留数据。

当该DataRetentionInHours值为 0 时,使用者仍然可以使用保留在服务主机缓冲区中的片段,该缓冲区的保留时间限制为 5 分钟,保留内存限制为 200 MB。当达到任一限制时,片段将从缓冲区中删除。

类型:整数

有效范围:最小值为 0。

必需:否

DeviceName

写入流的设备的名称。

注意

在当前的实现中,Kinesis Video Streams 不使用这个名称。

类型:字符串

长度限制:最小长度为 1。最大长度为 128。

模式:[a-zA-Z0-9_.-]+

必需:否

KmsKeyId

您希望 Kinesis Video Streams 用来加密直播数据的Amazon Key Management Service (Amazon KMS) 密钥的 ID。

如果未指定密钥 ID,会使用默认 Kinesis Video 管理密钥 ( Amazon/kinesisvideo)。

有关更多信息,请参阅DescribeKey

类型:字符串

长度限制:最小长度为 1。最大长度为 2048。

模式:.+

必需:否

MediaType

直播的媒体类型。数据流的使用者可以在处理数据流时使用这些信息。有关媒体类型的更多信息,请参阅媒体类型。如果您选择指定,请参阅命名要求以获取指导方针。MediaType

示例有效值包括 “video/h264” 和 “video/h264,audio/ac”。

此参数是可选的;默认值为null(或在 JSON 中为空)。

类型:字符串

长度限制:最小长度为 1。最大长度为 128。

模式:[\w\-\.\+]+/[\w\-\.\+]+(,[\w\-\.\+]+/[\w\-\.\+]+)*

必需:否

StreamName

您正在创建的直播的名称。

直播名称是直播的标识符,并且每个账户和区域都必须是唯一的。

类型:字符串

长度限制:最小长度为 1。长度上限为 256。

模式:[a-zA-Z0-9_.-]+

必需:是

Tags

要与指定流关联的标签列表。每个标签都是一个键-值对(值是可选的)。

类型:字符串到字符串映射

,,,,,,,,,,,,,,,,最多,

密钥长度限制:最小长度为 1。最大长度为 128。

密钥模式:^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

值长度限制:最小长度为 0 长度上限为 256。

价值模式:[\p{L}\p{Z}\p{N}_.:/=+\-@]*

必需:否

响应语法

HTTP/1.1 200 Content-type: application/json { "StreamARN": "string" }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回的以下数据。

StreamARN

流的 Amazon 资源名称(ARN)。

类型:字符串

长度限制:最小长度为 1。长度上限为 1024。

模式:arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

错误

有关所有操作常见错误的信息,请参阅常见错误

AccountStreamLimitExceededException

会为账户创建的流的数量,会过多。

HTTP 状态代码:400

ClientLimitExceededException

Kinesis Video Streams 限制了请求,因为您已超出允许的客户端呼叫限制。稍后再尝试打电话。

HTTP 状态代码:400

DeviceStreamLimitExceededException

未实现。

HTTP 状态代码:400

InvalidArgumentException

此输入参数的值无效。

HTTP 状态代码:400

InvalidDeviceException

未实现。

HTTP 状态代码:400

ResourceInUseException

当输入StreamARNChannelARN输入CLOUD_STORAGE_MODE已映射到其他 Kinesis Video Stream 资源,或者如果提供的输入StreamARN或未ChannelARN处于 “活动” 状态,请尝试以下方法之一:

  1. 用于确定给定频道的直播映射到什么的DescribeMediaStorageConfiguration API。

  2. 用于确定给定流映射到的频道的DescribeMappedResourceConfiguration API。

  3. DescribeSignalingChannel用于确定资源状态的DescribeStream或 API。

HTTP 状态代码:400

TagsPerResourceExceededLimitException

您已超出可以与资源关联的标签限制。Kinesis 视频流最多可支持 50 个标签。

HTTP 状态代码:400

另请参阅

有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: