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 视频管理密钥 () Amazon/kinesisvideo

有关更多信息,请参阅DescribeKey

类型:字符串

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

模式:.+

必需:否

MediaType

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

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

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

类型:字符串

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

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

必需:否

StreamName

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

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

类型:字符串

长度限制:最小长度为 0。长度上限为 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. 用于确定给定频道的直播映射到什么的 DescribeMediaStorageConfiguration API。

  2. 用于确定给定直播映射到哪个频道的 DescribeMappedResourceConfiguration API。

  3. DescribeStreamDescribeSignalingChannel API,用于确定资源状态。

HTTP 状态代码:400

TagsPerResourceExceededLimitException

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

HTTP 状态代码:400

另请参阅

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