CreateStream - Amazon Kinesis Video Streams

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

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,表示流不保留数据。最短为 1 小时。

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

类型:整数

有效范围:最小值为 0。

必需:否

DeviceName

正在写入流的设备的名称。

注意

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

类型:字符串

长度限制:长度下限为 1。长度上限为 128。

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

必需:否

KmsKeyId

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

如果未指定密钥 ID,则使用默认的 Kinesis Video 托管密钥 () AWS/kinesisvideo

有关更多信息,请参阅DescribeKey

类型:字符串

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

模式:.+

必需:否

MediaType

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

有效值示例包括 “video/h264" and "video/h264,audio/aac”。

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

类型:字符串

长度限制:长度下限为 1。长度上限为 128。

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

必需:否

StreamName

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

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

类型:字符串

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

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

必需:是

Tags

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

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

映射条目:最多 50 项。

密钥长度限制:最小长度为 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输入已映射到其他 Kinesis Video Stream 资源,或者提供的输入StreamARN或未ChannelARN处于 “活动” 状态,请尝试以下方法之一:CLOUD_STORAGE_MODE

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

  2. DescribeMappedResourceConfigurationAPI用于确定给定直播映射到的频道。

  3. DescribeStreamDescribeSignalingChannelAPI用于确定资源的状态。

HTTP状态码:400

TagsPerResourceExceededLimitException

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

HTTP状态码:400

另请参阅

有关API在一种特定语言中使用此功能的更多信息 AWS SDKs,请参阅以下内容: