本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
-
当输入
StreamARN
或ChannelARN
输入CLOUD_STORAGE_MODE
已映射到其他 Kinesis Video Stream 资源,或者如果提供的输入StreamARN
或未ChannelARN
处于 “活动” 状态,请尝试以下方法之一:-
用于确定给定频道的直播映射到什么的
DescribeMediaStorageConfiguration
API。 -
用于确定给定流映射到的频道的
DescribeMappedResourceConfiguration
API。 -
DescribeSignalingChannel
用于确定资源状态的DescribeStream
或 API。
HTTP 状态代码:400
-
- TagsPerResourceExceededLimitException
-
您已超出可以与资源关联的标签限制。Kinesis 视频流最多可支持 50 个标签。
HTTP 状态代码:400
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: