Utilizzo del caricamento in batch con AWS CLI - Amazon Timestream

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo del caricamento in batch con AWS CLI

Installazione

Per iniziare a utilizzare il caricamento in batch, procedi nel seguente modo.

  1. Installa il AWS CLI utilizzando le istruzioni all'indirizzoAccesso ad Amazon Timestream LiveAnalytics per l'utilizzo di AWS CLI.

  2. Esegui il comando seguente per verificare che i CLI comandi Timestream siano stati aggiornati. Verifica che create-batch-load-task sia nell'elenco.

    aws timestream-write help

  3. Prepara una fonte di dati seguendo le istruzioni riportate inPreparazione di un file di dati di caricamento in batch.

  4. Crea un database e una tabella seguendo le istruzioni riportate inAccesso ad Amazon Timestream LiveAnalytics per l'utilizzo di AWS CLI.

  5. Crea un bucket S3 per l'output dei report. Il bucket deve trovarsi nella stessa regione. Per ulteriori informazioni sui bucket, consulta Creazione, configurazione e utilizzo dei bucket Amazon S3.

  6. Crea un'attività di caricamento in batch. Per le fasi, consulta Crea un'attività di caricamento in batch.

  7. Conferma lo stato dell'attività. Per le fasi, consulta Descrivi l'operazione di caricamento batch.

Crea un'attività di caricamento in batch

È possibile creare un'attività di caricamento in batch con il create-batch-load-task comando. Quando si crea un'operazione di caricamento in batch utilizzando ilCLI, è possibile utilizzare un JSON parametro che consente di aggregare i parametri in un unico JSON frammento. cli-input-json È inoltre possibile suddividere questi dettagli utilizzando diversi altri parametridata-model-configuration, tra cui, data-source-configuration report-configurationtarget-database-name, e. target-table-name

Per un esempio, consulta Crea un esempio di attività di caricamento in batch

Descrivi l'operazione di caricamento batch

È possibile recuperare la descrizione dell'attività di caricamento in batch come segue.

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

Di seguito è riportata una risposta di esempio:

{ "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 } }

Elenca le attività di caricamento in batch

È possibile elencare le attività di caricamento in batch come segue.

aws timestream-write list-batch-load-tasks

L'output viene visualizzato come segue.

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

Riprendi l'operazione di caricamento in batch

È possibile riprendere un'attività di caricamento in batch come segue.

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

Una risposta può indicare un successo o contenere informazioni sull'errore.

Crea un esempio di attività di caricamento in batch

  1. Crea un flusso temporale per il LiveAnalytics database denominato BatchLoad e una tabella denominata. BatchLoadTest Verificate e, se necessario, regolate i valori di MemoryStoreRetentionPeriodInHours e. 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}"
  2. Utilizzando la console, crea un bucket S3 e copia il sample.csv file in quella posizione. Puoi scaricare un esempio da sampleCSV. CSV

  3. Utilizzando la console, create un bucket S3 per Timestream per LiveAnalytics scrivere un rapporto se l'attività di caricamento in batch viene completata con errori.

  4. Crea un'attività di caricamento in batch. Assicurati di sostituire $INPUT_BUCKET e $REPORT_BUCKET con i bucket che hai creato nei passaggi precedenti.

    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

    Il comando precedente restituisce l'output seguente.

    { "TaskId": "TaskId " }
  5. Controlla lo stato di avanzamento dell'operazione. Assicurati di sostituire $TASK_ID con l'id dell'attività restituito nel passaggio precedente.

    aws timestream-write describe-batch-load-task --task-id $TASK_ID

Output di esempio

{ "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 } }