本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 使用批次載入 AWS CLI
設定
若要開始使用批次載入,請執行下列步驟。
-
AWS CLI 使用 的指示安裝 使用 存取 Amazon Timestream for LiveAnalytics AWS CLI。
-
執行下列命令,以確認 Timestream CLI命令已更新。驗證 create-batch-load-task是否在清單中。
aws timestream-write help
-
使用 中的指示準備資料來源準備批次載入資料檔案。
-
使用 中的指示建立資料庫和資料表使用 存取 Amazon Timestream for LiveAnalytics AWS CLI。
-
建立報告輸出的 S3 儲存貯體。儲存貯體必須位於相同的區域。如需儲存貯體的詳細資訊,請參閱建立、設定和使用 Amazon S3 儲存貯體。
-
建立批次載入任務。如需這些步驟,請參閱 建立批次載入任務。
-
確認任務的狀態。如需這些步驟,請參閱 描述批次載入任務。
建立批次載入任務
您可以使用 create-batch-load-task
命令建立批次載入任務。當您使用 建立批次載入任務時CLI,您可以使用 JSON 參數 cli-input-json
,可讓您將參數彙總到單一JSON片段。您也可以使用包括 data-model-configuration
、data-source-configuration
、、 report-configuration
target-database-name
和 等幾個其他參數來分開這些詳細資訊target-table-name
。
如需範例,請參閱 建立批次載入任務範例
描述批次載入任務
您可以擷取批次載入任務描述,如下所示。
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 } }
列出批次載入任務
您可以列出批次載入任務,如下所示。
aws timestream-write list-batch-load-tasks
輸出顯示如下。
{ "BatchLoadTasks": [ { "TaskId": "
<TaskId>
", "TaskStatus": "FAILED", "DatabaseName": "BatchLoadExampleDatabase", "TableName": "BatchLoadExampleTable", "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } ] }
繼續批次載入任務
您可以繼續批次載入任務,如下所示。
aws timestream-write resume-batch-load-task --task-id
<value>
回應可以指出成功或包含錯誤資訊。
建立批次載入任務範例
-
為名為 的 LiveAnalytics 資料庫
BatchLoad
和名為 的資料表建立 TimestreamBatchLoadTest
。驗證 ,並視需要調整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}"
-
使用主控台建立 S3 儲存貯體,並將
sample.csv
檔案複製到該位置。您可以在範例 下載CSV範例。 CSV -
使用主控台為 建立 S3 儲存貯體, LiveAnalytics 以便在批次載入任務完成時寫入報告。
-
建立批次載入任務。請務必將
$INPUT_BUCKET
和$REPORT_BUCKET
取代為您在上述步驟中建立的儲存貯體。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
" } -
檢查任務的進度。請確定您使用上一個步驟中傳回的任務 ID
$TASK_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": "test-report-bucket" } }, "DataSourceConfiguration": { "DataSourceS3Configuration": { "ObjectKeyPrefix": "sample.csv", "BucketName": "test-input-bucket" }, "DataFormat": "CSV", "CsvConfiguration": {} }, "LastUpdatedTime": 1672960387.334 } }