Verwenden von Batch-Load mit dem AWS CLI - Amazon Timestream

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Batch-Load mit dem AWS CLI

Aufstellen

Führen Sie die folgenden Schritte aus, um mit der Verwendung von Batch-Load zu beginnen.

  1. Installieren Sie das AWS CLI anhand der Anweisungen unterZugreifen auf Amazon Timestream für die LiveAnalytics Nutzung des AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass die CLI Timestream-Befehle aktualisiert wurden. Vergewissern Sie sich, dass create-batch-load-task es in der Liste steht.

    aws timestream-write help

  3. Bereiten Sie eine Datenquelle anhand der Anweisungen unter vorEine Batch-Load-Datendatei wird vorbereitet.

  4. Erstellen Sie eine Datenbank und eine Tabelle gemäß den Anweisungen unterZugreifen auf Amazon Timestream für die LiveAnalytics Nutzung des AWS CLI.

  5. Erstellen Sie einen S3-Bucket für die Berichtsausgabe. Der Bucket muss sich in derselben Region befinden. Weitere Informationen zu Buckets finden Sie unter Amazon S3 S3-Buckets erstellen, konfigurieren und damit arbeiten.

  6. Erstellen Sie eine Batch-Load-Aufgabe. Informationen zu den erforderlichen Schritten finden Sie unter Erstellen Sie eine Batch-Load-Aufgabe.

  7. Bestätigen Sie den Status der Aufgabe. Informationen zu den erforderlichen Schritten finden Sie unter Beschreiben Sie die Batch-Load-Aufgabe.

Erstellen Sie eine Batch-Load-Aufgabe

Sie können mit dem create-batch-load-task Befehl eine Batch-Load-Task erstellen. Wenn Sie mit dem eine Batch-Load-Task erstellenCLI, können Sie einen JSON Parameter verwendencli-input-json, mit dem Sie die Parameter zu einem einzigen JSON Fragment zusammenfassen können. Sie können diese Details auch mithilfe mehrerer anderer Parameter wiedata-model-configuration, data-source-configuration report-configurationtarget-database-name, und auseinandernehmentarget-table-name.

Ein Beispiel finden Sie unter Beispiel für eine Batch-Load-Aufgabe erstellen

Beschreiben Sie die Batch-Load-Aufgabe

Sie können eine Beschreibung der Batch-Load-Aufgabe wie folgt abrufen.

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

Nachfolgend finden Sie eine Beispielantwort.

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

Batch-Load-Aufgaben auflisten

Sie können Batch-Load-Aufgaben wie folgt auflisten.

aws timestream-write list-batch-load-tasks

Eine Ausgabe sieht wie folgt aus.

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

Setzen Sie die Batch-Ladeaufgabe fort

Sie können eine Batch-Ladeaufgabe wie folgt fortsetzen.

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

Eine Antwort kann auf Erfolg hinweisen oder Fehlerinformationen enthalten.

Beispiel für eine Batch-Load-Aufgabe erstellen

  1. Erstellen Sie einen Timestream für die LiveAnalytics Datenbank mit dem Namen BatchLoad und eine Tabelle mit dem NamenBatchLoadTest. Überprüfen Sie die Werte für MemoryStoreRetentionPeriodInHours und und passen Sie sie gegebenenfalls an. 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. Erstellen Sie mit der Konsole einen S3-Bucket und kopieren Sie die sample.csv Datei an diesen Speicherort. Sie können ein Beispiel CSV unter Beispiel herunterladenCSV.

  3. Erstellen Sie mithilfe der Konsole einen S3-Bucket für Timestream LiveAnalytics , um einen Bericht zu schreiben, wenn die Batch-Ladeaufgabe fehlerhaft abgeschlossen wird.

  4. Erstellen Sie eine Batch-Load-Aufgabe. Stellen Sie sicher, dass Sie die Buckets, die Sie in den vorherigen Schritten erstellt haben, durch $INPUT_BUCKET und $REPORT_BUCKET ersetzen.

    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

    Der vorherige Befehl gibt die folgende Ausgabe zurück.

    { "TaskId": "TaskId " }
  5. Überprüfen Sie den Fortschritt der Aufgabe. Stellen Sie sicher, dass Sie $TASK_ID durch die Aufgaben-ID ersetzen, die im vorherigen Schritt zurückgegeben wurde.

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

Beispielausgabe

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