Amazon CloudWatch Events를 통해 지연 데이터 알림 받기 - AWS IoT Analytics

AWS IoT Analytics 신규 고객은 더 이상 사용할 수 없습니다. 의 기존 고객은 정상적으로 서비스를 계속 이용할 AWS IoT Analytics 수 있습니다. 자세히 알아보기

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

Amazon CloudWatch Events를 통해 지연 데이터 알림 받기

지정 기간 내의 데이터를 사용해 데이터 세트 콘텐츠를 생성할 때, 일부 데이터가 처리할 시간 내에 도착하지 않을 수도 있습니다. 지연을 허용하려면 queryAction(SQL 쿼리)를 적용하여 데이터 세트를 생성할 때 QueryFilterdeltaTime 오프셋을 지정할 수 있습니다. AWS IoT Analytics는 여전히 델타 시간 내에 도착하는 데이터를 처리하며, 데이터 세트 콘텐츠에는 시간 지연이 있습니다. 지연 데이터 알림 기능을 사용하면 델타 시간 이후에 데이터가 도착할 때 AWS IoT Analytics가 Amazon CloudWatch Events를 통해 알림을 보낼 수 있습니다.

AWS IoT Analytics 콘솔, API, AWS Command Line Interface(AWS CLI) 또는 AWSSDK를 사용하여 데이터 세트에 대한 지연 데이터 규칙을 지정할 수 있습니다.

AWS IoT Analytics API에서 LateDataRuleConfiguration 객체는 데이터 세트의 지연 데이터 규칙 설정을 나타냅니다. 이 객체는 CreateDatasetUpdateDataset API 작업과 관련된 Dataset 객체에 포함되어 있습니다.

파라미터

AWS IoT Analytics을 사용하여 데이터 세트에 대해 지연 데이터 규칙을 생성할 때 다음 정보를 지정해야 합니다.

ruleConfiguration (LateDataRuleConfiguration)

지연 데이터 규칙의 구성 정보를 포함하는 구조입니다.

deltaTimeSessionWindowConfiguration

델타 시간 세션 기간의 구성 정보를 포함하는 구조입니다.

DeltaTime은 시간 간격을 지정합니다. DeltaTime을 사용하면 마지막 실행 이후 데이터 스토어에 도착한 데이터로 데이터 세트 콘텐츠를 생성할 수 있습니다. DeltaTime의 예제를 알아보려면 델타 기간으로 SQL 데이터 세트 생성(CLI)을 참조하세요.

timeoutInMinutes

시간 간격입니다. AWS IoT Analytics가 마지막 실행 이후 생성된 지연 데이터 알림을 일괄 처리할 수 있도록 timeoutInMinutes를 사용할 수 있습니다. AWS IoT Analytics는 한 번에 하나의 알림 배치를 CloudWatch Events로 전송합니다.

유형: 정수

유효 범위: 1~60

ruleName

지연 데이터 규칙의 이름입니다.

유형: 문자열

중요

lateDataRules를 지정하려면 데이터 세트에 DeltaTime 필터를 사용해야 합니다.

지연 데이터 규칙 구성(콘솔)

다음 절차는 AWS IoT Analytics 콘솔에서 데이터 세트의 지연 데이터 규칙을 구성하는 방법을 보여줍니다.

최신 데이터 규칙을 구성하려면
  1. AWS IoT Analytics 콘솔에 로그인합니다.

  2. 탐색 창에서 데이터 세트를 선택합니다.

  3. 데이터 세트에서 대상 데이터 세트를 선택합니다.

  4. 탐색 창에서 세부사항을 선택합니다.

  5. 델타 윈도우 섹션에서 편집을 선택합니다.

  6. 데이터 선택 필터 구성에서 다음을 수행합니다.

    1. 데이터 선택 창에서 델타 시간을 선택합니다.

    2. 오프셋에 기간을 입력한 다음 단위를 선택합니다.

    3. 타임스탬프 표현식에는 표현식을 입력합니다. 타임스탬프 필드의 이름이나 from_unixtime(time)과 같이 시간을 도출할 수 있는 SQL 표현식이 될 수 있습니다.

      타임스탬프 표현식을 작성하는 방법에 대한 자세한 내용을 알아보려면 Presto 0.172 설명서날짜 및 시간 함수와 연산자를 참조하세요.

    4. 지연 데이터 알림의 경우 활성을 선택합니다.

    5. 델타 시간에는 정수를 입력합니다. 값의 범위는 1~60입니다.

    6. 저장을 선택합니다.

    AWS IoT Analytics 콘솔에서 데이터 선택 필터를 구성합니다.

지연 데이터 규칙(CLI) 구성

AWS IoT Analytics API에서 LateDataRuleConfiguration 객체는 데이터 세트의 지연 데이터 규칙 설정을 나타냅니다. 이 객체는 CreateDatasetUpdateDataset와 연결된 Dataset 객체에 포함되어 있습니다. API, AWS CLI 또는 AWSSDK를 사용하여 데이터 세트에 대한 지연 데이터 규칙을 지정할 수 있습니다. 다음 예제에서는 AWS CLI를 사용합니다.

지정된 지연 데이터 규칙으로 데이터 세트를 생성하려면 다음 명령어를 실행합니다. 명령은 dataset.json 파일이 현재 디렉터리에 있다고 가정합니다.

참고

UpdateDataset API를 사용하여 기존 데이터 세트를 업데이트할 수 있습니다.

aws iotanalytics create-dataset --cli-input-json file://dataset.json

dataset.json 파일에 다음을 포함해야 합니다.

  • demo_dataset를 대상 데이터 세트 이름으로 바꿉니다.

  • demo_datastore를 대상 데이터 스토어 이름으로 바꿉니다.

  • from_unixtime(time)을 타임스탬프 필드의 이름 또는 시간을 도출할 수 있는 SQL 표현식으로 바꿉니다.

    타임스탬프 표현식을 작성하는 방법에 대한 자세한 내용을 알아보려면 Presto 0.172 설명서날짜 및 시간 함수와 연산자를 참조하세요.

  • timeout을 1~60 사이의 정수로 바꿉니다.

  • demo_rule을 원하는 이름으로 바꿉니다.

{ "datasetName": "demo_dataset", "actions": [ { "actionName": "myDatasetAction", "queryAction": { "filters": [ { "deltaTime": { "offsetSeconds": -180, "timeExpression": "from_unixtime(time)" } } ], "sqlQuery": "SELECT * FROM demo_datastore" } } ], "retentionPeriod": { "unlimited": false, "numberOfDays": 90 }, "lateDataRules": [ { "ruleConfiguration": { "deltaTimeSessionWindowConfiguration": { "timeoutInMinutes": timeout } }, "ruleName": "demo_rule" } ] }

지연 데이터 알림 수신 구독

AWS IoT Analytics에서 전송된 지연 데이터 알림을 처리하는 방법을 정의하는 규칙을 CloudWatch Events에서 만들 수 있습니다. CloudWatch Events는 알림을 수신하면 규칙에 정의된 지정된 대상 작업을 호출합니다.

CloudWatch Events 규칙 생성을 위한 사전 조건

AWS IoT Analytics에 대한 CloudWatch Events 규칙을 생성하기 전에 다음을 수행해야 합니다.

  • CloudWatch Events의 이벤트, 규칙 및 대상을 익힙니다.

  • CloudWatch Events 규칙에 의해 호출되는 대상을 생성하고 구성해야 합니다. 규칙은 다음과 같은 다양한 유형의 대상을 호출할 수 있습니다.

    • Amazon Kinesis Streams

    • AWS Lambda 함수

    • Amazon Simple Notification Service(Amazon SNS) 주제

    • Amazon Simple Queue Service(Amazon SQS) 대기열

    CloudWatch Events 규칙 및 관련 대상은 AWS IoT Analytics 리소스를 생성한 AWS 리전에 있어야 합니다. 자세한 내용은 AWS 일반 참조서비스 엔드포인트 및 할당량을 참조하세요.

자세한 정보는 Amazon CloudWatch Events 사용 설명서Amazon CloudWatch Events란 무엇인가요?Amazon CloudWatch Events 시작하기를 참조하세요.

지연 데이터 알림 이벤트

지연 데이터 알림 이벤트는 다음 형식을 사용합니다.

{ "version": "0", "id": "7f51dfa7-ffef-97a5-c625-abddbac5eadd", "detail-type": "IoT Analytics Dataset Lifecycle Notification", "source": "aws.iotanalytics", "account": "123456789012", "time": "2020-05-14T02:38:46Z", "region": "us-east-2", "resources": ["arn:aws:iotanalytics:us-east-2:123456789012:dataset/demo_dataset"], "detail": { "event-detail-version": "1.0", "dataset-name": "demo_dataset", "late-data-rule-name": "demo_rule", "version-ids": ["78244852-8737-4650-aa4d-3071a01338fa"], "message": null } }

지연 데이터 알림을 수신할 CloudWatch Events 규칙 생성

다음 절차에서는 Amazon SQS 대기열에 AWS IoT Analytics 지연 데이터 알림을 보내는 규칙을 생성하는 방법을 보여줍니다.

CloudWatch Events 규칙을 생성하려면
  1. Amazon CloudWatch 콘솔에 로그인합니다.

  2. 탐색 창의 이벤트 아래에서 규칙을 선택합니다.

  3. 규칙 페이지에서 규칙 생성을 선택합니다.

  4. 이벤트 소스 아래 이벤트 패턴을 선택합니다.

  5. 서비스별 이벤트와 일치시킬 이벤트 패턴을 작성 섹션에서 다음을 수행합니다.

    1. 서비스 이름에서 IoT Analytics를 선택합니다.

    2. 이벤트 유형에서 IoT Analytics 데이터 세트 수명 주기 알림을 선택합니다.

    3. 특정 데이터 세트 이름을 선택한 다음 대상 데이터 세트의 이름을 입력합니다.

  6. 대상에서 대상 추가를 선택합니다.

  7. SQS 대기열을 선택하고 다음을 수행합니다.

    1. 대기열*에서 대상 대기열을 선택합니다.

  8. 세부 정보 구성을 선택합니다.

  9. 2단계: 규칙 세부 정보 구성 페이지에 이름 및 설명을 입력합니다.

  10. 규칙 생성을 선택합니다.