Acceso a Amazon Timestream LiveAnalytics para usar el AWS CLI - Amazon Timestream

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.

Acceso a Amazon Timestream LiveAnalytics para usar el AWS CLI

Puede usar el AWS Command Line Interface (AWS CLI) para controlar varios AWS servicios desde la línea de comandos y automatizarlos mediante scripts. Puede utilizar el AWS CLI para operaciones ad hoc. También puede usarla para incrustar Amazon Timestream LiveAnalytics for operaciones en scripts de utilidades.

Antes de poder usarlo AWS CLI con Timestream LiveAnalytics, debe configurar el acceso mediante programación. Para obtener más información, consulte Concesión de acceso programático.

Para obtener una lista completa de todos los comandos disponibles para el flujo temporal de LiveAnalytics Query API en el AWS CLI, consulte la Referencia de comandos.AWS CLI

Para obtener una lista completa de todos los comandos disponibles para el flujo temporal de LiveAnalytics Write API in the AWS CLI, consulte la Referencia de comandos.AWS CLI

Descarga y configuración de la AWS CLI

Se AWS CLI ejecuta en Windows, macOS o Linux. Para descargarlo, instalarlo y configurarlo, sigue estos pasos:

  1. AWS CLI Descárguelo en http://aws.amazon.com/cli.

  2. Siga las instrucciones para instalar AWS CLI y configurar el que aparecen AWS CLI en la Guía del AWS Command Line Interface usuario.

Uso del AWS CLI con Timestream para LiveAnalytics

El formato de línea de comandos consiste en Amazon Timestream LiveAnalytics para el nombre de la operación, seguido de los parámetros de esa operación. AWS CLI Admite una sintaxis abreviada para los valores de los parámetros, además de. JSON

Se utiliza help para enumerar todos los comandos disponibles en Timestream para. LiveAnalytics Por ejemplo:

aws timestream-write help
aws timestream-query help

También puede utilizar la help para describir un comando específico y obtener más información sobre su uso:

aws timestream-write create-database help

Por ejemplo, para crear una base de datos:

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

Para crear una tabla con la función de almacenamiento magnético habilitada:

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

Para escribir datos mediante registros de una sola medida:

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\"}]"

Para escribir datos mediante registros de múltiples medidas:

# 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

Para consultar una tabla:

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)"

Para crear una consulta programada:

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