

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

# CreateStream
<a name="API_CreateStream"></a>

创建新的 Kinesis 视频流。

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

 `CreateStream` 是一个异步操作。

有关服务工作方式的信息，请参阅[工作方式](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html)。

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

## 请求语法
<a name="API_CreateStream_RequestSyntax"></a>

```
POST /createStream HTTP/1.1
Content-type: application/json

{
   "DataRetentionInHours": number,
   "DeviceName": "string",
   "KmsKeyId": "string",
   "MediaType": "string",
   "StreamName": "string",
   "StreamStorageConfiguration": { 
      "DefaultStorageTier": "string"
   },
   "Tags": { 
      "string" : "string" 
   }
}
```

## URI 请求参数
<a name="API_CreateStream_RequestParameters"></a>

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

## 请求正文
<a name="API_CreateStream_RequestBody"></a>

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

 ** [DataRetentionInHours](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-DataRetentionInHours"></a>
您希望在流中保留数据的小时数。Kinesis Video Streams 将数据保留在与流关联的数据存储中。  
默认值为 0，表示流不保留数据。最短为 1 小时。  
当该`DataRetentionInHours`值为 0 时，使用者仍然可以使用保留在服务主机缓冲区中的碎片，该缓冲区的保留时间限制为 5 分钟，保留内存限制为 200 MB。当达到任一限制时，片段将从缓冲区中移除。  
类型：整数  
有效范围：最小值为 0。  
必需：否

 ** [DeviceName](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-DeviceName"></a>
正在写入流的设备的名称。  
在当前的实现中，Kinesis Video Streams 没有使用这个名称。
类型：字符串  
长度限制：最小长度为 1。最大长度为 128。  
模式：`[a-zA-Z0-9_.-]+`  
必需：否

 ** [KmsKeyId](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-KmsKeyId"></a>
你希望 Kinesis Video Streams 用来加密直播数据的 AWS Key Management Service (AWS KMS) 密钥的 ID。  
如果未指定密钥 ID，则使用默认的 Kinesis 视频管理密钥 () `aws/kinesisvideo`。  
 有关更多信息，请参阅 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 2048。  
模式：`.+`  
必需：否

 ** [MediaType](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-MediaType"></a>
直播的媒体类型。直播的使用者可以在处理直播时使用此信息。有关媒体类型的更多信息，请参阅[媒体类型](http://www.iana.org/assignments/media-types/media-types.xhtml)。如果您选择指定`MediaType`，请参阅[命名要求](https://tools.ietf.org/html/rfc6838#section-4.2)以获取指南。  
有效值示例包括 “video/h264" and "video/h264,audio/aac”。  
此参数是可选的；默认值为`null`（或在 JSON 中为空）。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 128。  
模式：`[\w\-\.\+]+/[\w\-\.\+]+(,[\w\-\.\+]+/[\w\-\.\+]+)*`  
必需：否

 ** [StreamName](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-StreamName"></a>
您正在创建的直播的名称。  
直播名称是直播的标识符，并且对于每个账户和地区都必须是唯一的。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 256。  
模式：`[a-zA-Z0-9_.-]+`  
是否必需：是

 ** [StreamStorageConfiguration](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-StreamStorageConfiguration"></a>
流存储的配置，包括流数据的默认存储层。此配置决定了流数据的存储和访问方式，不同的层级可提供不同级别的性能和成本优化。  
如果未指定，则该流将使用带有 HOT 层的默认存储配置以获得最佳性能。  
类型：[StreamStorageConfiguration](API_StreamStorageConfiguration.md) 对象  
必需：否

 ** [Tags](#API_CreateStream_RequestSyntax) **   <a name="KinesisVideo-CreateStream-request-Tags"></a>
要与指定直播关联的标签列表。每个标签都是一个键值对（该值是可选的）。  
类型：字符串到字符串映射  
映射条目：最多 50 项。  
密钥长度限制：最小长度为 1。最大长度为 128。  
键模式：`^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`  
值长度限制：最小长度为 0。最大长度为 256。  
价值模式：`[\p{L}\p{Z}\p{N}_.:/=+\-@]*`  
必需：否

## 响应语法
<a name="API_CreateStream_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "StreamARN": "string"
}
```

## 响应元素
<a name="API_CreateStream_ResponseElements"></a>

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

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

 ** [StreamARN](#API_CreateStream_ResponseSyntax) **   <a name="KinesisVideo-CreateStream-response-StreamARN"></a>
流的 Amazon 资源名称（ARN）。  
类型：字符串  
长度限制：最小长度为 1。长度上限为 1024。  
模式：`arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`

## 错误
<a name="API_CreateStream_Errors"></a>

有关所有操作的常见错误的信息，请参阅[常见错误类型](CommonErrors.md)。

 ** AccountStreamLimitExceededException **   
为该账户创建的直播数量过高。  
HTTP 状态代码：400

 ** ClientLimitExceededException **   
Kinesis Video Streams 已限制该请求，因为你已超过允许的客户端调用限制。稍后再尝试拨打电话。  
HTTP 状态代码：400

 ** DeviceStreamLimitExceededException **   
未实现。  
HTTP 状态代码：400

 ** InvalidArgumentException **   
此输入参数的值无效。  
HTTP 状态代码：400

 ** InvalidDeviceException **   
未实现。  
HTTP 状态代码：400

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

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

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

1. `DescribeStream`或 `DescribeSignalingChannel` API，用于确定资源状态。
HTTP 状态代码：400

 ** TagsPerResourceExceededLimitException **   
您已超出可以与资源关联的标签上限。一个 Kinesis 视频流最多可以支持 50 个标签。  
HTTP 状态代码：400

## 另请参阅
<a name="API_CreateStream_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesisvideo-2017-09-30/CreateStream) 