

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

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

# 搭配 使用批次載入 AWS CLI
<a name="batch-load-using-cli"></a>

**設定**

若要開始使用批次載入，請執行下列步驟。

1.  AWS CLI 使用 中的指示安裝 [使用 存取 Amazon Timestream for LiveAnalytics AWS CLI](Tools.CLI.md)。

1. 執行下列命令，以確認 Timestream CLI 命令已更新。驗證 create-batch-load-task 是否在清單中。

   `aws timestream-write help`

1. 使用 中的指示準備資料來源[準備批次載入資料檔案](batch-load-preparing-data-file.md)。

1. 使用 中的指示建立資料庫和資料表[使用 存取 Amazon Timestream for LiveAnalytics AWS CLI](Tools.CLI.md)。

1. 建立報告輸出的 S3 儲存貯體。儲存貯體必須位於相同的區域。如需儲存貯體的詳細資訊，請參閱[建立、設定和使用 Amazon S3 儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)。

1. 建立批次載入任務。如需這些步驟，請參閱 [建立批次載入任務](#batch-load-using-cli-create-task)。

1. 確認任務的狀態。如需這些步驟，請參閱 [描述批次載入任務](#batch-load-using-cli-describe-task)。

## 建立批次載入任務
<a name="batch-load-using-cli-create-task"></a>

您可以使用 `create-batch-load-task`命令建立批次載入任務。當您使用 CLI 建立批次載入任務時，您可以使用 JSON 參數 `cli-input-json`，這可讓您將參數彙總到單一 JSON 片段。您也可以使用包括 `data-model-configuration`、、`data-source-configuration`、 `report-configuration``target-database-name`和 等幾個其他參數，將這些詳細資訊分開`target-table-name`。

如需範例，請參閱 [建立批次載入任務範例](#batch-load-using-cli-example)

## 描述批次載入任務
<a name="batch-load-using-cli-describe-task"></a>

您可以擷取批次載入任務描述，如下所示。

```
aws timestream-write describe-batch-load-task --task-id <value>
```

以下是回應範例：

```
{
    "BatchLoadTaskDescription": {
        "TaskId": "<TaskId>",
        "DataSourceConfiguration": {
            "DataSourceS3Configuration": {
                "BucketName": "test-batch-load-west-2",
                "ObjectKeyPrefix": "sample.csv"
            },
            "CsvConfiguration": {},
            "DataFormat": "CSV"
        },
        "ProgressReport": {
            "RecordsProcessed": 2,
            "RecordsIngested": 0,
            "FileParseFailures": 0,
            "RecordIngestionFailures": 2,
            "FileFailures": 0,
            "BytesIngested": 119
        },
        "ReportConfiguration": {
            "ReportS3Configuration": {
                "BucketName": "test-batch-load-west-2",
                "ObjectKeyPrefix": "<ObjectKeyPrefix>",
                "EncryptionOption": "SSE_S3"
            }
        },
        "DataModelConfiguration": {
            "DataModel": {
                "TimeColumn": "timestamp",
                "TimeUnit": "SECONDS",
                "DimensionMappings": [
                    {
                        "SourceColumn": "vehicle",
                        "DestinationColumn": "vehicle"
                    },
                    {
                        "SourceColumn": "registration",
                        "DestinationColumn": "license"
                    }
                ],
                "MultiMeasureMappings": {
                    "TargetMultiMeasureName": "test",
                    "MultiMeasureAttributeMappings": [
                        {
                            "SourceColumn": "wgt",
                            "TargetMultiMeasureAttributeName": "weight",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "SourceColumn": "spd",
                            "TargetMultiMeasureAttributeName": "speed",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "SourceColumn": "fuel",
                            "TargetMultiMeasureAttributeName": "fuel",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "SourceColumn": "miles",
                            "TargetMultiMeasureAttributeName": "miles",
                            "MeasureValueType": "DOUBLE"
                        }
                    ]
                }
            }
        },
        "TargetDatabaseName": "BatchLoadExampleDatabase",
        "TargetTableName": "BatchLoadExampleTable",
        "TaskStatus": "FAILED",
        "RecordVersion": 1,
        "CreationTime": 1677167593.266,
        "LastUpdatedTime": 1677167602.38
    }
}
```

## 列出批次載入任務
<a name="batch-load-using-cli-list-tasks"></a>

您可以列出批次載入任務，如下所示。

```
aws timestream-write list-batch-load-tasks
```

輸出如下所示。

```
{
    "BatchLoadTasks": [
        {
            "TaskId": "<TaskId>",
            "TaskStatus": "FAILED",
            "DatabaseName": "BatchLoadExampleDatabase",
            "TableName": "BatchLoadExampleTable",
            "CreationTime": 1677167593.266,
            "LastUpdatedTime": 1677167602.38
        }
    ]
}
```

## 繼續批次載入任務
<a name="batch-load-using-cli-resume-task"></a>

您可以繼續批次載入任務，如下所示。

```
aws timestream-write resume-batch-load-task --task-id <value>
```

回應可以指出成功或包含錯誤資訊。

## 建立批次載入任務範例
<a name="batch-load-using-cli-example"></a>

**Example**  

1. 建立名為 的 LiveAnalytics 資料庫 Timestream `BatchLoad`和名為 的資料表`BatchLoadTest`。驗證 ，並視需要調整 `MemoryStoreRetentionPeriodInHours`和 的值`MagneticStoreRetentionPeriodInDays`。

   ```
   aws timestream-write create-database --database-name BatchLoad \
   
   aws timestream-write create-table --database-name BatchLoad \
   --table-name BatchLoadTest \
   --retention-properties "{\"MemoryStoreRetentionPeriodInHours\": 12, \"MagneticStoreRetentionPeriodInDays\": 100}"
   ```

1. 使用主控台建立 S3 儲存貯體，並將`sample.csv`檔案複製到該位置。您可以在範例 CSV 下載[範例 CSV](samples/batch-load-sample-file.csv.zip)。

1. 使用主控台為 Timestream for LiveAnalytics 建立 S3 儲存貯體，以在批次載入任務完成時撰寫報告。

1. 建立批次載入任務。請務必將 *\$1INPUT\$1BUCKET* 和 *\$1REPORT\$1BUCKET* 取代為您在上述步驟中建立的儲存貯體。

   ```
   aws timestream-write create-batch-load-task \
   --data-model-configuration "{\
               \"DataModel\": {\
                 \"TimeColumn\": \"timestamp\",\
                 \"TimeUnit\": \"SECONDS\",\
                 \"DimensionMappings\": [\
                   {\
                     \"SourceColumn\": \"vehicle\"\
                   },\
                   {\
                     \"SourceColumn\": \"registration\",\
                     \"DestinationColumn\": \"license\"\
                   }\
                 ],
                 \"MultiMeasureMappings\": {\
                   \"TargetMultiMeasureName\": \"mva_measure_name\",\
                   \"MultiMeasureAttributeMappings\": [\
                     {\
                       \"SourceColumn\": \"wgt\",\
                       \"TargetMultiMeasureAttributeName\": \"weight\",\
                       \"MeasureValueType\": \"DOUBLE\"\
                     },\
                     {\
                       \"SourceColumn\": \"spd\",\
                       \"TargetMultiMeasureAttributeName\": \"speed\",\
                       \"MeasureValueType\": \"DOUBLE\"\
                     },\
                     {\
                       \"SourceColumn\": \"fuel_consumption\",\
                       \"TargetMultiMeasureAttributeName\": \"fuel\",\
                       \"MeasureValueType\": \"DOUBLE\"\
                     },\
                     {\
                       \"SourceColumn\": \"miles\",\
                       \"MeasureValueType\": \"BIGINT\"\
                     }\
                   ]\
                 }\
               }\
             }" \
   --data-source-configuration "{
               \"DataSourceS3Configuration\": {\
                 \"BucketName\": \"$INPUT_BUCKET\",\
                 \"ObjectKeyPrefix\": \"$INPUT_OBJECT_KEY_PREFIX\"
               },\
               \"DataFormat\": \"CSV\"\
             }" \
   --report-configuration "{\
               \"ReportS3Configuration\": {\
                 \"BucketName\": \"$REPORT_BUCKET\",\
                 \"EncryptionOption\": \"SSE_S3\"\
               }\
             }" \
   --target-database-name BatchLoad \
   --target-table-name BatchLoadTest
   ```

   上述命令會傳回下列輸出。

   ```
   {
       "TaskId": "TaskId "
   }
   ```

1. 檢查任務的進度。請務必將 *\$1TASK\$1ID* 取代為上一個步驟中傳回的任務 ID。

   ```
   aws timestream-write describe-batch-load-task --task-id $TASK_ID 
   ```
**範例輸出**  

```
{
    "BatchLoadTaskDescription": {
        "ProgressReport": {
            "BytesIngested": 1024,
            "RecordsIngested": 2,
            "FileFailures": 0,
            "RecordIngestionFailures": 0,
            "RecordsProcessed": 2,
            "FileParseFailures": 0
        },
        "DataModelConfiguration": {
            "DataModel": {
                "DimensionMappings": [
                    {
                        "SourceColumn": "vehicle",
                        "DestinationColumn": "vehicle"
                    },
                    {
                        "SourceColumn": "registration",
                        "DestinationColumn": "license"
                    }
                ],
                "TimeUnit": "SECONDS",
                "TimeColumn": "timestamp",
                "MultiMeasureMappings": {
                    "MultiMeasureAttributeMappings": [
                        {
                            "TargetMultiMeasureAttributeName": "weight",
                            "SourceColumn": "wgt",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "TargetMultiMeasureAttributeName": "speed",
                            "SourceColumn": "spd",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "TargetMultiMeasureAttributeName": "fuel",
                            "SourceColumn": "fuel_consumption",
                            "MeasureValueType": "DOUBLE"
                        },
                        {
                            "TargetMultiMeasureAttributeName": "miles",
                            "SourceColumn": "miles",
                            "MeasureValueType": "DOUBLE"
                        }
                    ],
                    "TargetMultiMeasureName": "mva_measure_name"
                }
            }
        },
        "TargetDatabaseName": "BatchLoad",
        "CreationTime": 1672960381.735,
        "TaskStatus": "SUCCEEDED",
        "RecordVersion": 1,
        "TaskId": "TaskId ",
        "TargetTableName": "BatchLoadTest",
        "ReportConfiguration": {
            "ReportS3Configuration": {
                "EncryptionOption": "SSE_S3",
                "ObjectKeyPrefix": "ObjectKeyPrefix ",
                "BucketName": "amzn-s3-demo-bucket"
            }
        },
        "DataSourceConfiguration": {
            "DataSourceS3Configuration": {
                "ObjectKeyPrefix": "sample.csv",
                "BucketName": "amzn-s3-demo-source-bucket"
            },
            "DataFormat": "CSV",
            "CsvConfiguration": {}
        },
        "LastUpdatedTime": 1672960387.334
    }
}
```