Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès à Amazon Timestream LiveAnalytics pour utiliser le AWS CLI
Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour contrôler plusieurs AWS services depuis la ligne de commande et les automatiser par le biais de scripts. Vous pouvez utiliser le AWS CLI pour des opérations ad hoc. Vous pouvez également l'utiliser pour intégrer Amazon LiveAnalytics Timestream à des fins d'opérations dans des scripts utilitaires.
Avant de pouvoir utiliser le AWS CLI avec Timestream pour LiveAnalytics, vous devez configurer l'accès programmatique. Pour de plus amples informations, veuillez consulter Octroi d’un accès par programmation.
Pour une liste complète de toutes les commandes disponibles pour le Timestream for LiveAnalytics Query API in the AWS CLI, consultez la référence des AWS CLI commandes.
Pour une liste complète de toutes les commandes disponibles pour le Timestream pour LiveAnalytics Write API in the AWS CLI, consultez la référence des AWS CLI commandes.
Rubriques
Téléchargement et configuration de la AWS CLI
Il AWS CLI fonctionne sous Windows, macOS ou Linux. Pour le télécharger, l'installer et le configurer, procédez comme suit :
-
Téléchargez-le AWS CLI à l'adresse http://aws.amazon.com/cli
. -
Suivez les instructions d'installation AWS CLI et de configuration du guide AWS CLI de l'AWS Command Line Interface utilisateur.
Utilisation du AWS CLI avec Timestream pour LiveAnalytics
Le format de ligne de commande consiste en un Amazon Timestream LiveAnalytics pour le nom de l'opération, suivi des paramètres de cette opération. Le AWS CLI prend en charge une syntaxe abrégée pour les valeurs des paramètres, en plus de. JSON
Permet help
de répertorier toutes les commandes disponibles dans Timestream pour. LiveAnalytics Par exemple :
aws timestream-write help
aws timestream-query help
Vous pouvez également utiliser help
pour décrire une commande spécifique et en savoir plus sur son utilisation :
aws timestream-write create-database help
Par exemple, pour créer une base de données :
aws timestream-write create-database --database-name myFirstDatabase
Pour créer une table avec les écritures magnétiques activées :
aws timestream-write create-table \ --database-name metricsdb \ --table-name metrics \ --magnetic-store-write-properties "{\"EnableMagneticStoreWrites\": true}"
Pour écrire des données à l'aide d'enregistrements à mesure unique :
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\"}]"
Pour écrire des données à l'aide d'enregistrements à mesures multiples :
# 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
Pour interroger une table :
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)"
Pour créer une requête planifiée :
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\"\ }\ }"