Zugreifen auf Amazon Timestream für die LiveAnalytics Nutzung des 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.

Zugreifen auf Amazon Timestream für die LiveAnalytics Nutzung des AWS CLI

Sie können die AWS Command Line Interface (AWS CLI) verwenden, um mehrere AWS Dienste von der Befehlszeile aus zu steuern und sie mithilfe von Skripten zu automatisieren. Sie können das AWS CLI für Ad-hoc-Operationen verwenden. Sie können es auch verwenden, um Amazon Timestream für LiveAnalytics Operationen in Utility-Skripten einzubetten.

Bevor Sie das AWS CLI mit Timestream for verwenden können LiveAnalytics, müssen Sie den programmatischen Zugriff einrichten. Weitere Informationen finden Sie unter Erteilen programmgesteuerten Zugriffs.

Eine vollständige Liste aller Befehle, die für Timestream for LiveAnalytics Query API in verfügbar sind AWS CLI, finden Sie in der Befehlsreferenz.AWS CLI

Eine vollständige Liste aller Befehle, die für Timestream for LiveAnalytics Write API in der verfügbar sind AWS CLI, finden Sie in der AWS CLI Befehlsreferenz.

Herunterladen und Konfigurieren des AWS CLI

Das AWS CLI läuft unter Windows, MacOS oder Linux. Zum Herunterladen, Installieren undKonfigurieren führen Sie die folgenden Schritte aus:

  1. Laden Sie das AWS CLI unter http://aws.amazon.com/cli herunter.

  2. Folgen Sie den Anweisungen zur Installation AWS CLI und Konfiguration von AWS CLI im AWS Command Line Interface Benutzerhandbuch.

Verwenden von AWS CLI mit Timestream für LiveAnalytics

Das Befehlszeilenformat besteht aus einem Amazon Timestream für den LiveAnalytics Operationsnamen, gefolgt von den Parametern für diesen Vorgang. Das AWS CLI unterstützt zusätzlich zu eine Kurzsyntax für die Parameterwerte. JSON

Wird verwendethelp, um alle verfügbaren Befehle in Timestream für aufzulisten. LiveAnalytics Beispielsweise:

aws timestream-write help
aws timestream-query help

Sie können auch help verwenden, um einen bestimmten Befehl zu beschreiben und mehr über seine Nutzung zu erfahren:

aws timestream-write create-database help

Um beispielsweise eine Datenbank zu erstellen:

aws timestream-write create-database --database-name myFirstDatabase

Um eine Tabelle mit aktivierten Magnetspeicher-Schreibvorgängen zu erstellen:

aws timestream-write create-table \ --database-name metricsdb \ --table-name metrics \ --magnetic-store-write-properties "{\"EnableMagneticStoreWrites\": true}"

So schreiben Sie Daten mithilfe von Einzelmessdatensätzen:

aws timestream-write write-records \ --database-name metricsdb \ --table-name metrics \ --common-attributes "{\"Dimensions\":[{\"Name\":\"asset_id\", \"Value\":\"100\"}], \"Time\":\"1631051324000\",\"TimeUnit\":\"MILLISECONDS\"}" \ --records "[{\"MeasureName\":\"temperature\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"30\"},{\"MeasureName\":\"windspeed\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"7\"},{\"MeasureName\":\"humidity\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"15\"},{\"MeasureName\":\"brightness\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"17\"}]"

Um Daten mithilfe von Datensätzen mit mehreren Messwerten zu schreiben:

# wide model helper method to create Multi-measure records function ingest_multi_measure_records { epoch=`date +%s` epoch+=$i # multi-measure records aws timestream-write write-records \ --database-name $src_db_wide \ --table-name $src_tbl_wide \ --common-attributes "{\"Dimensions\":[{\"Name\":\"device_id\", \ \"Value\":\"12345678\"},\ {\"Name\":\"device_type\", \"Value\":\"iPhone\"}, \ {\"Name\":\"os_version\", \"Value\":\"14.8\"}, \ {\"Name\":\"region\", \"Value\":\"us-east-1\"} ], \ \"Time\":\"$epoch\",\"TimeUnit\":\"MILLISECONDS\"}" \ --records "[{\"MeasureName\":\"video_metrics\", \"MeasureValueType\":\"MULTI\", \ \"MeasureValues\": \ [{\"Name\":\"video_startup_time\",\"Value\":\"0\",\"Type\":\"BIGINT\"}, \ {\"Name\":\"rebuffering_ratio\",\"Value\":\"0.5\",\"Type\":\"DOUBLE\"}, \ {\"Name\":\"video_playback_failures\",\"Value\":\"0\",\"Type\":\"BIGINT\"}, \ {\"Name\":\"average_frame_rate\",\"Value\":\"0.5\",\"Type\":\"DOUBLE\"}]}]" \ --endpoint-url $ingest_endpoint \ --region $region } # create 5 records for i in {100..105}; do ingest_multi_measure_records $i; done

So fragen Sie eine Tabelle ab:

aws timestream-query query \ --query-string "SELECT time, device_id, device_type, os_version, region, video_startup_time, rebuffering_ratio, video_playback_failures, \ average_frame_rate \ FROM metricsdb.metrics \ where time >= ago (15m)"

Um eine geplante Abfrage zu erstellen:

aws timestream-query create-scheduled-query \ --name scheduled_query_name \ --query-string "select bin(time, 1m) as time, \ avg(measure_value::double) as avg_cpu, min(measure_value::double) as min_cpu, region \ from $src_db.$src_tbl where measure_name = 'cpu' \ and time BETWEEN @scheduled_runtime - (interval '5' minute) AND @scheduled_runtime \ group by region, bin(time, 1m)" \ --schedule-configuration "{\"ScheduleExpression\":\"$cron_exp\"}" \ --notification-configuration "{\"SnsConfiguration\":{\"TopicArn\":\"$sns_topic_arn\"}}" \ --scheduled-query-execution-role-arn "arn:aws:iam::452360119086:role/TimestreamSQExecutionRole" \ --target-configuration "{\"TimestreamConfiguration\":{\ \"DatabaseName\": \"$dest_db\",\ \"TableName\": \"$dest_tbl\",\ \"TimeColumn\":\"time\",\ \"DimensionMappings\":[{\ \"Name\": \"region\", \"DimensionValueType\": \"VARCHAR\" }],\ \"MultiMeasureMappings\":{\ \"TargetMultiMeasureName\": \"mma_name\", \"MultiMeasureAttributeMappings\":[{\ \"SourceColumn\": \"avg_cpu\", \"MeasureValueType\": \"DOUBLE\", \"TargetMultiMeasureAttributeName\": \"target_avg_cpu\" },\ { \ \"SourceColumn\": \"min_cpu\", \"MeasureValueType\": \"DOUBLE\", \"TargetMultiMeasureAttributeName\": \"target_min_cpu\" }] \ }\ }}" \ --error-report-configuration "{\"S3Configuration\": {\ \"BucketName\": \"$s3_err_bucket\",\ \"ObjectKeyPrefix\": \"scherrors\",\ \"EncryptionOption\": \"SSE_S3\"\ }\ }"