Amazon DynamoDB에 속성 값 업데이트 게시 - AWS IoT SiteWise

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

Amazon DynamoDB에 속성 값 업데이트 게시

이 자습서에서는 Amazon DynamoDB를 사용하여 데이터를 저장하는 편리한 방법을 소개하므로 AWS IoT SiteWise API를 반복적으로 쿼리하지 않고도 기록 자산 데이터에 더 쉽게 액세스할 수 있습니다. 이 자습서를 완료하면 전체 풍력 발전소의 풍속 및 방향에 대한 라이브 맵과 같은 자산 데이터를 사용하는 사용자 지정 소프트웨어를 생성할 수 있습니다. 사용자 지정 솔루션을 구현하지 않고 데이터를 모니터링 및 시각화하려는 경우 를 사용하여 데이터 모니터링 AWS IoT SiteWise Monitor 섹션을 참조하세요.

이 자습서에서는 풍력 발전소에 대한 샘플 데이터 세트를 제공하는 AWS IoT SiteWise 데모를 기반으로 합니다. AWS IoT Core 규칙을 통해 데이터를 생성한 DynamoDB 테이블로 보내도록 풍력 발전소 데모에서 속성 값 업데이트를 구성합니다. 속성 값 업데이트를 활성화하면가 AWS IoT SiteWise MQTT 메시지 AWS IoT Core 의 로 데이터를 전송합니다. 그런 다음 해당 메시지의 내용에 따라 DynamoDB 작업과 같은 작업을 수행하는 AWS IoT 코어 규칙을 정의합니다. 자세한 내용은 다른 AWS 서비스와 상호 작용 단원을 참조하십시오.

사전 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • AWS 계정. 없으면 AWS 계정 설정 단원을 참조하세요.

  • 에 액세스하기 위해 Windows, macOS, Linux 또는 Unix를 실행하는 개발 컴퓨터입니다 AWS Management Console. 자세한 내용은 AWS Management Console이란 무엇인가요?를 참조하세요.

  • 관리자 권한이 있는 IAM 사용자. 자세한 지침은 AWS IoT SiteWise 에서 IAM을 사용하는 방법 섹션을 참조하세요.

  • 실행 중인 AWS IoT SiteWise 풍력 발전소 데모입니다. 데모를 설정하면에서 모델과 자산을 정의하고 해당 모델 AWS IoT SiteWise 과 자산으로 데이터를 스트리밍하여 풍력 발전소를 나타냅니다. 자세한 내용은 AWS IoT SiteWise 데모 사용 단원을 참조하십시오.

1단계: 속성 값 업데이트를 게시 AWS IoT SiteWise 하도록 구성

이 절차에서는 데모 터빈 자산의 Wind Speed 속성에 대한 속성 값 알림을 활성화합니다. 속성 값 알림을 활성화하면는 MQTT 메시지의 각 값 업데이트를 AWS IoT 코어에 AWS IoT SiteWise 게시합니다.

자산 속성에 대한 속성 값 업데이트 알림 활성화
  1. AWS IoT SiteWise 콘솔에 로그인합니다.

  2. 가 AWS IoT SiteWise 지원되는 AWS IoT SiteWise 엔드포인트 및 할당량을 검토하고 필요한 경우 AWS 리전을 전환합니다. AWS IoT SiteWise 데모를 실행하는 리전으로 전환합니다.

  3. 왼쪽 탐색 창에서 자산을 선택합니다.

  4. Demo Wind Farm Asset 옆에 있는 화살표를 선택하여 풍력 발전소 자산의 계층 구조를 확장합니다.

  5. 데모 터빈을 선택하고 편집을 선택합니다.

  6. 측정을 선택합니다.

  7. Wind Speed 속성의 MQTT 알림 상태를 ACTIVE로 업데이트합니다.

  8. 페이지 하단에서 [Save(저장하기)]를 선택합니다.

  9. 각 데모 터빈 자산에 대해 단계 5~7을 반복합니다.

  10. 데모 터빈(예: Demo Turbine Asset 1)을 선택합니다.

  11. 측정을 선택합니다.

  12. Wind Speed 속성 옆에 있는 복사 아이콘을 선택하여 알림 주제를 클립보드로 복사합니다. 이 자습서의 뒷부분에서 사용하도록 알림 주제를 저장합니다. 하나의 터빈에서만 알림 주제를 기록하면 됩니다.

    알림 주제는 다음 예시와 같은 형식이어야 합니다.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

2단계: AWS IoT Core에서 규칙 생성

이 단계에서는 속성 값 알림 메시지를 구문 분석하고 Amazon DynamoDB 테이블에 데이터를 삽입하는 규칙을 AWS IoT 코어에서 생성합니다. AWS IoT 코어 규칙은 MQTT 메시지를 구문 분석하고 각 메시지의 내용 및 주제를 기반으로 작업을 수행합니다. 그러고 나서 이 자습서의 일부로 생성한 DynamoDB 테이블에 데이터를 삽입하는 DynamoDB 작업을 사용하여 규칙을 생성합니다.

DynamoDB 작업을 사용하여 규칙 생성
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 메시지 라우팅을 선택한 다음 규칙을 선택합니다.

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

  4. 규칙 속성 지정에서 규칙의 이름과 설명을 입력합니다.

  5. 이 자습서의 앞부분에서 저장한 알림 주제를 찾습니다.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

    주제의 자산 ID(assets/ 뒤의 ID)를 + 기호로 바꿉니다. 이렇게 하면 모든 데모 풍력 터빈 자산의 풍속 속성이 선택됩니다. + 주제 필터는 해당 주제에 포함된 단일 수준의 모든 노드를 수용합니다. 주제는 다음 예시와 같은 형식이어야 합니다.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
  6. 다음 규칙 쿼리 문을 입력합니다. FROM 섹션의 주제를 해당 알림 주제로 바꿉니다.

    SELECT payload.assetId AS asset, (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed, timestamp() AS timestamp FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'
  7. 규칙 작업에서 작업 1로 이동합니다.

  8. 작업 선택 페이지에서 DynamoDBv2를 선택합니다. 그러면 메시지가 DynamoDB 테이블의 여러 열로 분할됩니다.

  9. 테이블 이름에서 새 테이블 생성을 선택합니다. 규칙 작업에서 풍속 데이터를 수신할 Amazon DynamoDB 테이블을 생성합니다.

  10. DynamoDB 콘솔테이블 이름에 테이블 이름을 입력합니다.

  11. 파티션 키의 경우 다음을 수행합니다.

    1. 파티션 키로 timestamp를 입력합니다.

    2. 번호 유형을 선택합니다.

    3. 정렬 키 추가 확인란을 선택합니다.

    4. 정렬 키로 asset을 입력하고 기본 정렬 키 유형인 문자열을 그대로 둡니다.

  12. 테이블 생성을 선택합니다.

  13. 작업 구성 페이지가 있는 탭으로 돌아갑니다.

  14. 규칙 연결 작업 페이지에서 테이블 이름 목록을 새로 고치고 이전 단계에서 생성한 새 DynamoDB 테이블을 선택합니다.

3단계: DynamoDB 규칙 작업 구성

이 단계에서는 속성 값 업데이트의 데이터를 새 DynamoDB 테이블에 삽입하도록 Amazon DynamoDB 규칙 작업을 구성합니다.

DynamoDB 규칙 작업 구성
  1. 역할 생성을 선택하여 규칙 작업을 수행할 수 있는 AWS IoT 코어 액세스 권한을 부여하는 IAM 역할을 생성합니다.

  2. 역할 이름을 입력합니다. 예: WindSpeedDataRole. 역할 생성을 선택합니다.

  3. 다음을 선택합니다.

  4. 페이지 하단에서 생성을 선택하여 규칙 생성을 완료합니다.

    데모 자산 데이터가 DynamoDB 테이블에 나타나기 시작합니다.

4단계: DynamoDB에서 데이터 탐색

이 단계에서는 새 Amazon DynamoDB 테이블에서 데모 자산의 풍속 데이터를 살펴봅니다.

DynamoDB에서 자산 데이터 탐색
  1. DynamoDB 테이블이 열려 있는 탭으로 돌아갑니다.

  2. 이전에 생성한 테이블에서 테이블 항목 탐색 탭을 선택하여 테이블의 데이터를 봅니다. 테이블에 행이 표시되지 않으면 페이지를 새로 고칩니다. 몇 분 후에도 행이 나타나지 않는 경우 규칙 문제 해결(DynamoDB) 단원을 참조하세요.

  3. 테이블의 행에서 편집 아이콘을 선택하여 데이터를 확장합니다.

  4. windspeed 구조 옆의 화살표를 선택하여 풍속 데이터 포인트 목록을 확장합니다. 각 목록에는 풍력 발전소 데모에서 로 전송 AWS IoT SiteWise 한 바람 속도 데이터 포인트 배치가 반영됩니다. 고유한 용도의 규칙 작업을 설정하는 경우 다른 데이터 형식을 사용할 수 있습니다. 자세한 내용은 에서 자산 속성 알림 쿼리 AWS IoT SiteWise 단원을 참조하십시오.

자습서를 완료했으므로 추가 요금이 발생하지 않도록 규칙을 비활성화하거나 삭제하고 DynamoDB 테이블을 삭제할 수 있습니다. 리소스를 정리하려면 5단계: 자습서 후 리소스 정리 섹션을 참조하세요.

5단계: 자습서 후 리소스 정리

자습서를 완료한 후 추가 요금이 발생하지 않도록 리소스를 정리합니다. 데모 풍력 발전소 자산은 데모를 생성할 때 선택한 기간이 끝날 때 삭제됩니다. 데모를 수동으로 삭제할 수도 있습니다.

AWS IoT SiteWise 데모는 일주일 후 또는 AWS CloudFormation 콘솔에서 데모 스택을 생성한 경우 선택한 일수를 삭제합니다. 데모 리소스 사용을 완료한 경우 이전에 데모를 삭제할 수 있습니다. 데모를 만드는 데 실패한 경우에도 데모를 삭제할 수 있습니다. 데모를 수동으로 삭제하려면 다음 단계를 수행하세요.

(선택 사항) AWS IoT SiteWise 데모를 삭제하려면

  1. AWS CloudFormation 콘솔로 이동합니다.

  2. 스택 목록에서 IoTSiteWiseDemoAssets를 선택합니다.

  3. 삭제를 선택합니다.

    스택을 삭제하면 데모용으로 생성된 모든 리소스가 삭제됩니다.

  4. 확인 대화 상자에서 스택 삭제를 선택합니다.

    스택을 삭제하는 데 약 15분이 걸립니다. 데모가 삭제되지 않으면 오른쪽 상단에서 삭제를 다시 선택합니다. 데모가 다시 삭제되지 않으면 AWS CloudFormation 콘솔의 단계에 따라 삭제에 실패한 리소스를 건너뛰고 다시 시도하세요.

자세한 내용은 AWS IoT SiteWise 데모 삭제 단원을 참조하십시오.

다음 절차에 따라 속성 값 업데이트 알림을 비활성화하고(데모를 삭제하지 않은 경우), AWS IoT 규칙을 비활성화 또는 삭제하고, DynamoDB 테이블을 삭제합니다.

자산 속성에 대한 속성 값 업데이트 알림 비활성화
  1. AWS IoT SiteWise 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 자산을 선택합니다.

  3. Demo Wind Farm Asset 옆에 있는 화살표를 선택하여 풍력 발전소 자산의 계층 구조를 확장합니다.

  4. 데모 터빈을 선택하고 편집을 선택합니다.

  5. Wind Speed 속성의 알림 상태를 비활성으로 업데이트합니다.

  6. 페이지 하단에서 자산 저장을 선택합니다.

  7. 각 데모 터빈 자산에 대해 4~6단계를 반복합니다.

에서 규칙을 비활성화하거나 삭제하려면 AWS IoT Core
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 메시지 라우팅을 선택한 다음 규칙을 선택합니다.

  3. 규칙을 선택하고 삭제를 선택합니다.

  4. 확인 대화 상자에서 규칙 이름을 입력한 다음 삭제를 선택합니다.

DynamoDB 테이블 삭제
  1. DynamoDB 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 테이블을 선택합니다.

  3. 와 같이 이전에 생성한 테이블을 선택합니다WindSpeedData.

  4. 삭제를 선택합니다.

  5. 확인 대화 상자에서 confirm를 입력하여 테이블을 삭제합니다.