를 사용하여 Amazon Timestream for LiveAnalytics 에 액세스 AWS CLI - Amazon Timestream

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 Amazon Timestream for LiveAnalytics 에 액세스 AWS CLI

AWS Command Line Interface (AWS CLI)를 사용하여 명령줄에서 여러 AWS 서비스를 제어하고 스크립트를 통해 자동화할 수 있습니다. 를 AWS CLI 임시 작업에 사용할 수 있습니다. 유틸리티 스크립트 내에 Amazon Timestream for LiveAnalytics 작업을 포함하는 데도 사용할 수 있습니다.

Timestream for LiveAnalytics와 AWS CLI 함께를 사용하려면 먼저 프로그래밍 액세스를 설정해야 합니다. 자세한 내용은 프로그래밍 방식 액세스 권한 부여 단원을 참조하십시오.

에서 Timestream for LiveAnalytics 쿼리 API에 사용할 수 있는 모든 명령의 전체 목록은 AWS CLI 명령 참조를 AWS CLI참조하세요.

에서 Timestream for LiveAnalytics Write API에 사용할 수 있는 모든 명령의 전체 목록은 AWS CLI 명령 참조를 AWS CLI참조하세요.

AWS CLI다운로드 및 구성

는 Windows, macOS 또는 Linux에서 AWS CLI 실행됩니다. 다운로드, 설치 및 구성하려면 다음 단계를 따르세요.

  1. http://aws.amazon.com/cli AWS CLI 를 다운로드합니다.

  2. AWS Command Line Interface 사용 설명서AWS CLI 설치 CLI 구성 AWS 지침을 따릅니다.

Timestream for LiveAnalytics와 AWS CLI 함께 사용

명령줄 형식은 Amazon Timestream for LiveAnalytics 작업 이름과 해당 작업에 대한 파라미터로 구성됩니다. 는 JSON 외에도 파라미터 값에 대한 약식 구문을 AWS CLI 지원합니다.

Timestream for LiveAnalytics에서 사용 가능한 모든 명령을 나열help하는 데 사용합니다. 예제:

aws timestream-write help
aws timestream-query help

help를 사용하여 특정 명령을 설명하고 그 사용법에 대해 자세히 알아볼 수도 있습니다.

aws timestream-write create-database help

예를 들어 데이터베이스를 생성하려면

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

마그네틱 스토어 쓰기가 활성화된 테이블을 생성하려면:

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

단일 측정 레코드를 사용하여 데이터를 쓰려면:

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

다중 측정 레코드를 사용하여 데이터를 쓰려면:

# 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

테이블 쿼리:

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

예약된 쿼리를 생성하려면:

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