Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de la carga por lotes con AWS CLI
Configuración
Para empezar a utilizar la carga por lotes, siga los siguientes pasos.
-
Instálelo AWS CLI siguiendo las instrucciones que aparecen enAcceder a Amazon Timestream LiveAnalytics para usar el AWS CLI.
-
Ejecute el siguiente comando para comprobar que los comandos CLI de Timestream se han actualizado. Compruebe que create-batch-load-task esté en la lista.
aws timestream-write help
-
Prepare una fuente de datos siguiendo las instrucciones dePreparación de un archivo de datos de carga por lotes.
-
Cree una base de datos y una tabla siguiendo las instrucciones deAcceder a Amazon Timestream LiveAnalytics para usar el AWS CLI.
-
Cree un depósito de S3 para la producción de informes. El depósito debe estar en la misma región. Para obtener más información sobre los buckets, consulte Crear, configurar y trabajar con buckets de Amazon S3.
-
Cree una tarea de carga por lotes. Para ver los pasos, consulte Cree una tarea de carga por lotes.
-
Confirme el estado de la tarea. Para ver los pasos, consulte Describa la tarea de carga por lotes.
Cree una tarea de carga por lotes
Puede crear una tarea de carga por lotes con el create-batch-load-task
comando. Al crear una tarea de carga por lotes mediante la CLI, puede usar un parámetro JSONcli-input-json
, que le permite agregar los parámetros en un único fragmento de JSON. También puedes separar esos detalles mediante varios otros parámetrosdata-model-configuration
, como data-source-configuration
report-configuration
,target-database-name
, ytarget-table-name
.
Para ver un ejemplo, consulte Ejemplo de creación de una tarea de carga por lotes.
Describa la tarea de carga por lotes
Puede recuperar la descripción de una tarea de carga por lotes de la siguiente manera.
aws timestream-write describe-batch-load-task --task-id
<value>
A continuación, se muestra un ejemplo de respuesta.
{ "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 } }
Enumere las tareas de carga por lotes
Puede enumerar las tareas de carga por lotes de la siguiente manera.
aws timestream-write list-batch-load-tasks
El resultado aparece de la siguiente manera.
{ "BatchLoadTasks": [ { "TaskId": "
<TaskId>
", "TaskStatus": "FAILED", "DatabaseName": "BatchLoadExampleDatabase", "TableName": "BatchLoadExampleTable", "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } ] }
Reanude la tarea de carga por lotes
Puede reanudar una tarea de carga por lotes de la siguiente manera.
aws timestream-write resume-batch-load-task --task-id
<value>
Una respuesta puede indicar que se ha realizado correctamente o contener información sobre un error.
Ejemplo de creación de una tarea de carga por lotes
-
Cree un flujo temporal para la LiveAnalytics base de datos denominada
BatchLoad
y una tabla denominada.BatchLoadTest
Compruebe y, si es necesario, ajuste los valores deMemoryStoreRetentionPeriodInHours
y.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}"
-
Con la consola, cree un bucket de S3 y copie el
sample.csv
archivo en esa ubicación. Puede descargar un archivo CSV de muestra en un archivo CSV de muestra. -
Con la consola, cree un depósito de S3 para que Timestream escriba un informe si la tarea de carga por lotes finaliza con errores. LiveAnalytics
-
Cree una tarea de carga por lotes. Asegúrese de reemplazar
$INPUT_BUCKET
y por$REPORT_BUCKET
los depósitos que creó en los pasos anteriores.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 BatchLoadTestEl comando anterior devuelve el siguiente resultado.
{ "TaskId": "
TaskId
" } -
Compruebe el progreso de la tarea. Asegúrese de
$TASK_ID
reemplazarla por la ID de tarea que se devolvió en el paso anterior.aws timestream-write describe-batch-load-task --task-id
$TASK_ID
Ejemplo de resultado
{ "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 } }