구성 요소 유형 사용 및 생성 - AWS IoT TwinMaker

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

구성 요소 유형 사용 및 생성

이 항목에서는 AWS IoT TwinMaker 구성 요소 유형을 만드는 데 사용하는 값과 구조를 안내합니다. CreateComponentTypeAPI에 전달하거나 AWS IoT TwinMaker 콘솔의 구성 요소 유형 편집기를 사용하여 전달할 수 있는 요청 객체를 생성하는 방법을 보여 줍니다.

구성 요소는 관련 개체의 속성 및 데이터에 대한 컨텍스트를 제공합니다.

기본 설정 구성 요소 유형

AWS IoT TwinMaker 콘솔에서 작업 영역을 선택한 다음 왼쪽 창에서 구성 요소 유형을 선택하면 다음과 같은 구성 요소 유형이 표시됩니다.

  • com.amazon.iotsitewise.resourcesync: 자산과 자산 모델을 자동으로 동기화하고 이를 엔티티 구성 요소 및 구성 요소 유형으로 변환하는 구성 요소 유형입니다. AWS IoT SiteWise AWS IoT TwinMaker 자산 동기화 사용에 대한 자세한 내용은 AWS IoT SiteWise 자산 AWS IoT SiteWise 동기화를 참조하십시오.

  • com.amazon.iottwinmaker.alarm.basic: 외부 소스에서 개체로 경보 데이터를 가져오는 기본 경보 구성 요소입니다. 이 구성 요소에는 특정 데이터 소스에 연결하는 함수가 포함되어 있지 않습니다. 즉, 경보 구성 요소는 추상적이며 데이터 소스를 지정하는 다른 구성 요소 유형과 해당 소스에서 읽는 함수에 상속될 수 있습니다.

  • com.amazon.iottwinmaker.documents: 개체에 대한 정보가 포함된 문서의 제목을 URL에 간단히 매핑하는 것입니다.

  • com.amazon.iotsitewise.connector.edgevideo: Kinesis Video Streams용 에지 커넥터 구성 요소를 사용하여 IoT 디바이스에서 비디오를 엔티티로 가져오는 구성 요소입니다. AWS IoT Greengrass Kinesis Video AWS IoT Greengrass Streams용 에지 AWS IoT TwinMaker 커넥터 구성 요소는 구성 요소가 아니라 IoT 장치에 로컬로 배포되는 AWS IoT Greengrass 사전 빌드된 구성 요소입니다.

  • com.amazon.iotsitewise.connector: AWS IoT SiteWise 데이터를 개체로 가져오는 구성 요소입니다.

  • com.amazon.iottwinmaker.parameters: 개체에 정적 키-값 쌍을 추가하는 구성 요소입니다.

  • com.amazon.kvs.video: Kinesis Video Streams에서 비디오를 엔티티로 가져오는 구성 요소입니다. AWS IoT TwinMaker

미리 정의된 여러 구성 요소 유형 목록이 있는 구성 요소 유형 콘솔 페이지.

AWS IoT TwinMaker 구성 요소 유형의 핵심 기능

다음 목록에서는 구성 요소 유형의 핵심 기능에 대해 설명합니다.

  • 속성 정의: PropertyDefinitionRequest객체는 씬 컴포저에서 채울 수 있는 속성을 정의하거나 외부 데이터 소스에서 가져온 데이터로 채울 수 있는 속성을 정의합니다. 설정한 정적 속성은 저장되어 있습니다. AWS IoT TwinMaker시계열 속성 및 데이터 소스에서 가져온 기타 속성은 외부에 저장됩니다.

    문자열 내에서 PropertyDefinitionRequest 맵에 속성 정의를 지정합니다. 각 문자열은 맵에 대해 고유해야 합니다.

  • 함수: FunctionRequest객체는 외부 데이터 소스에서 읽고 잠재적으로 외부 데이터 소스에 쓰는 Lambda 함수를 지정합니다.

    값이 외부에 저장되어 있는 속성을 포함하지만 값을 검색하는 해당 함수가 없는 구성 요소 유형은 추상 구성 요소 유형입니다. 추상 구성 요소 유형에서 구체적인 구성 요소 유형을 확장할 수 있습니다. 개체에는 추상 구성 요소 유형을 추가할 수 없습니다. 장면 컴포저에는 나타나지 않습니다.

    문자열 내에 FunctionRequest 매핑할 함수를 지정합니다. 문자열은 다음과 같은 사전 정의된 함수 유형 중 하나만 지정해야 합니다.

    • dataReader: 외부 소스에서 데이터를 가져오는 함수입니다.

    • dataReaderByEntity: 외부 소스에서 데이터를 가져오는 함수입니다.

      이 유형의 데이터 리더를 사용하는 경우 GetPropertyValueHistoryAPI 작업은 이 구성 요소 유형의 속성에 대한 엔티티별 쿼리만 지원합니다. (componentName + entityId에 대한 속성 값 기록만 요청할 수 있습니다.)

    • dataReaderByComponentType: 외부 소스에서 데이터를 가져오는 함수입니다.

      이 유형의 데이터 리더를 사용하는 경우 GetPropertyValueHistoryAPI 작업은 이 구성 요소 유형의 속성에 대한 개체 간 쿼리만 지원합니다. (componentTypeId에 대한 속성 값 기록만 요청할 수 있습니다.)

    • dataWriter: 외부 소스에 데이터를 쓰는 함수입니다.

    • schemaInitializer: 구성 요소 유형이 포함된 개체를 만들 때마다 속성값을 자동으로 초기화하는 함수입니다.

    비추상 구성 요소 유형에는 세 가지 유형의 데이터 판독기 함수 중 하나가 필요합니다.

    경보를 포함하여 타임스트림 텔레메트리 구성 요소를 구현하는 Lambda 함수의 예는 AWS IoT TwinMaker 샘플의 데이터 리더를 참조하십시오.

    참고

    경보 커넥터는 추상 경보 구성 요소 유형을 상속하므로 Lambda 함수는 alarm_key값을 반환해야 합니다. 이 값을 반환하지 않으면 Grafana는 이 값을 경보로 인식하지 않습니다. 이는 경보를 반환하는 모든 구성 요소에 필요합니다.

  • 상속: 구성 요소 유형은 상속을 통해 코드 재사용성을 높입니다. 구성 요소 유형은 최대 10개의 상위 구성 요소 유형을 상속할 수 있습니다.

    extendsFrom매개 변수를 사용하여 구성 요소 유형이 속성과 함수를 상속하는 구성 요소 유형을 지정할 수 있습니다.

  • isSingleton: 일부 구성 요소에는 개체에 두 번 이상 포함할 수 없는 위치 좌표와 같은 속성이 포함되어 있습니다. 구성 요소 유형을 개체에 한 번만 포함할 수 있다는 것을 알리도록 isSingleton 파라미터 값을 true로 설정합니다.

속성 정의 생성

다음 표는 PropertyDefinitionRequest의 파라미터를 설명합니다.

파라미터

설명

isExternalId

속성이 외부에 저장된 속성 값의 고유 식별자 (예: AWS IoT SiteWise 자산 ID) 인지 여부를 지정하는 불리언입니다.

이 속성의 기본값은 false입니다.

isStoredExternally

속성이 외부에 저장되는지 여부를 지정하는 부울 값입니다.

이 속성의 기본값은 false입니다.

isTimeSeries

속성이 시계열 데이터로 구성되는지 여부를 지정하는 부울 값입니다.

이 속성의 기본값은 false입니다.

isRequiredInEntity

구성 요소 유형을 사용하는 개체에서 속성에 값이 있어야 하는지 여부를 지정하는 불리언입니다.

dataType

속성의 데이터 유형 (예: 문자열, 맵, 목록, 측정 단위) 을 지정하는 DataType객체입니다.

defaultValue

속성의 기본값을 지정하는 DataValue객체입니다.

configuration

외부 데이터 소스에 연결하는 데 필요한 추가 정보를 지정하는 string-to-string 맵입니다.

함수 생성

다음 표는 FunctionRequest의 파라미터를 설명합니다.

파라미터

설명

implementedBy

외부 데이터 소스에 연결하는 Lambda 함수를 지정하는 DataConnector객체입니다.

requiredProperties

함수가 외부 데이터 소스에서 읽고 외부 데이터 소스에 쓰기 위해 필요한 속성 목록입니다.

scope

함수의 범위입니다. 범위가 전체 작업 영역에 적용되는 함수에 대해 Workspace을(를) 사용합니다. 구성 요소가 포함된 개체로 범위가 제한된 함수에 대해 Entity을(를) 사용합니다.

구성 요소 유형을 만들고 확장하는 방법을 보여주는 예제는 구성 요소 유형 예을(를) 참조하십시오.