

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 Video 受管金鑰 (`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" 和 "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 Resource Name (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` 中的 `CLOUD_STORAGE_MODE` 已映射至不同的 Kinesis Video Stream 資源，或提供的輸入`StreamARN`或 `ChannelARN` 未處於作用中狀態時，請嘗試下列其中一個 ：  

1. 用於判斷串流指定頻道所對應的 `DescribeMediaStorageConfiguration` API。

1. 用於判斷指定串流所對應的頻道的 `DescribeMappedResourceConfiguration` API。

1. 用於判斷資源狀態的 `DescribeStream`或 `DescribeSignalingChannel` API。
HTTP 狀態碼：400

 ** TagsPerResourceExceededLimitException **   
您已超過可與資源建立關聯的標籤限制。Kinesis 影片串流最多可支援 50 個標籤。  
HTTP 狀態碼：400

## 另請參閱
<a name="API_CreateStream_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 適用於 .NET V4 的 SDK](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 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 適用於 JavaScript V3 的 SDK](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 V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesisvideo-2017-09-30/CreateStream) 
+  [AWS 適用於 Python 的 SDK](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) 