다음을 통해 공유


Azure Digital Twins에 대한 데이터 기록 연결 만들기

데이터 기록Azure Data Explorer에 대한 그래프 업데이트를 자동으로 기록하는 Azure Digital Twins 기능입니다. Azure Data Explorer용 Azure Digital Twins 쿼리 플러그 인을 사용하여 이 데이터를 쿼리하여 시간 경과에 따른 환경에 대한 인사이트를 가져올 수 있습니다.

이 문서에서는 Azure Digital Twins와 Azure Data Explorer 간에 작동하는 데이터 기록 연결을 설정하는 방법을 보여 줍니다. Azure CLIAzure Portal을 사용하여 다음과 같은 필수 데이터 기록 리소스를 설정하고 연결합니다.

  • Azure Digital Twins 인스턴스
  • Event Hubs가 포함된 Event Hubs 네임스페이스
  • 데이터베이스가 포함된 Azure Data Explorer 클러스터

또한 Azure Data Explorer에 히스토리화된 그래프 업데이트를 확인하는 데 사용할 수 있는 샘플 트윈 그래프도 포함되어 있습니다.

이 문서에서는 Azure Portal을 사용하지만 나머지 API의 2022-05-31 버전을 사용하여 데이터 기록으로 작업할 수도 있습니다.

필수 조건

Azure CLI에 대한 환경 준비

참고 항목

원하는 경우 Bash 환경 대신 PowerShell 환경에서 Azure Cloud Shell을 사용할 수도 있습니다. 이 페이지의 명령은 Bash 환경용으로 작성되었으므로 PowerShell에서 실행하려면 약간의 조정이 필요할 수 있습니다.

CLI 세션 설정

CLI에서 Azure Digital Twins 작업을 시작하려면 가장 먼저 로그인하여 CLI 컨텍스트를 이 세션의 구독으로 설정해야 합니다. CLI 창에서 다음 명령을 실행합니다.

az login
az account set --subscription "<your-Azure-subscription-ID>"

위의 명령에서 ID 대신 제품 이름을 사용할 수도 있습니다.

Azure Digital Twins에서 이 구독을 처음 사용하는 경우 이 명령을 실행하여 Azure Digital Twins 네임스페이스에 등록합니다. (확실하지 않으면 이전에 수행한 적이 있더라도 다시 실행해도 됩니다.)

az provider register --namespace 'Microsoft.DigitalTwins'

다음으로 Azure CLI용 Microsoft Azure IoT 확장을 추가하여 Azure Digital Twins 및 기타 IoT 서비스와 상호 작용하기 위한 명령을 사용하도록 설정합니다. 다음 명령을 실행하여 최신 버전의 확장이 있는지 확인합니다.

az extension add --upgrade --name azure-iot

이제 Azure CLI에서 Azure Digital Twins를 사용할 준비가 되었습니다.

사용 가능한 최상위 Azure Digital Twins 명령 목록을 보려면 언제든지 az dt --help를 실행하여 이를 확인할 수 있습니다.

CLI 세션에 대한 지역 변수 설정

이 문서에서는 데이터 기록 리소스를 만드는 데 사용할 수 있는 CLI 명령을 제공합니다. 나중에 이러한 명령을 쉽게 복사하고 실행할 수 있도록 지금 CLI 세션에서 지역 변수를 설정한 다음 나중에 리소스를 만들 때 CLI 명령에서 해당 변수를 참조할 수 있습니다. 아래 명령에서 자리 표시자(<...> 대괄호로 식별됨)를 업데이트하고 이러한 명령을 실행하여 변수를 만듭니다. 주석에 설명된 명명 규칙을 따릅니다. 이 값은 나중에 새 리소스를 만들 때 사용됩니다.

참고 항목

이러한 명령은 Bash 환경용으로 작성되었습니다. PowerShell CLI 환경을 선호하는 경우 PowerShell에 맞게 조정할 수 있습니다.

## General Setup
location="<your-resource-region>"
resourcegroup="<your-resource-group-name>"

## Azure Digital Twins Setup
# Instance name can contain letters, numbers, and hyphens. It must start and end with a letter or number, and be between 4 and 62 characters long.
dtname="<name-for-your-digital-twins-instance>"
# Connection name can contain letters, numbers, and hyphens. It must contain at least one letter, and be between 3 and 50 characters long.
connectionname="<name-for-your-data-history-connection>"

## Event Hub Setup
# Namespace can contain letters, numbers, and hyphens. It must start with a letter, end with a letter or number, and be between 6 and 50 characters long.
eventhubnamespace="<name-for-your-event-hub-namespace>"
# Event hub name can contain only letters, numbers, periods, hyphens and underscores. It must start and end with a letter or number.
eventhub="<name-for-your-event-hub>"

## Azure Data Explorer Setup
# Cluster name can contain only lowercase alphanumeric characters. It must start with a letter, and be between 4 and 22 characters long.
clustername="<name-for-your-cluster>"  
# Database name can contain only alphanumeric, spaces, dash and dot characters, and be up to 260 characters in length.
databasename="<name-for-your-database>"

# Enter a name for the table where relationship create and delete events will be stored.
relationshiplifecycletablename="<name-for-your-relationship-lifecycle-events-table>"
# Enter a name for the table where twin create and delete events will be stored.
twinlifecycletablename="<name-for-your-twin-lifecycle-events-table>"
# Optionally, enter a custom name for the table where twin property updates will be stored. If not provided, the table will be named AdtPropertyEvents.
twinpropertytablename="<name-for-your-twin-property-events-table>"

관리 ID를 사용하여 Azure Digital Twins 인스턴스 만들기

Azure Digital Twins 인스턴스가 이미 있는 경우 시스템이 할당한 관리 ID를 사용하도록 설정했는지 확인합니다.

Azure Digital Twins 인스턴스가 없는 경우 관리 ID로 인스턴스 만들기의 지침에 따라 처음으로 시스템이 할당한 관리 ID로 Azure Digital Twins 인스턴스를 만듭니다.

그런 다음 인스턴스에 대한 Azure Digital Twins 데이터 소유자 역할이 있는지 확인합니다. 사용자 액세스 권한 설정에서 지침을 찾을 수 있습니다.

인스턴스 이름을 로컬 CLI 변수에 추가하여 이 문서에서 복사한 이후 명령에 자동으로 연결되도록 하려면 다음과 같이 변수 dtname에 저장합니다.

dtname="<name-of-your-instance>"

Event Hubs 네임스페이스 및 이벤트 허브 만들기

다음 단계는 Event Hubs 네임스페이스와 Event Hubs를 만드는 것입니다. 이 허브는 Azure Digital Twins 인스턴스에서 그래프 수명 주기 및 속성 업데이트 알림을 받은 다음 메시지를 대상 Azure Data Explorer 클러스터로 전달합니다.

나중에 데이터 기록 연결 설정의 일부로 Azure Digital Twins 인스턴스에 Event Hubs 리소스에 대한 Azure Event Hubs 데이터 소유자 역할을 부여합니다.

Event Hubs 및 해당 기능에 대한 자세한 내용은 Event Hubs 설명서를 참조하세요.

참고 항목

데이터 기록을 설정하는 동안 이벤트 허브에서 로컬 권한 부여를 사용하도록 설정해야 합니다. 궁극적으로 이벤트 허브에서 로컬 권한 부여를 사용하지 않도록 설정하려면 연결을 설정한 후 권한 부여를 사용하지 않도록 설정합니다. 또한 이 문서 뒷부분의 데이터 기록 리소스에 대한 네트워크 액세스 제한에 설명된 대로 일부 권한을 조정해야 합니다.

다음 CLI 명령을 사용하여 필요한 리소스를 만듭니다. 명령은 이전에 CLI 세션에 대한 지역 변수 설정에서 만들어진 여러 지역 변수($location, $resourcegroup, $eventhubnamespace$eventhub)를 사용합니다.

Event Hubs 네임스페이스 만들기:

az eventhubs namespace create --name $eventhubnamespace --resource-group $resourcegroup --location $location

네임스페이스에 이벤트 허브를 만듭니다.

az eventhubs eventhub create --name $eventhub --resource-group $resourcegroup --namespace-name $eventhubnamespace

Kusto(Azure Data Explorer) 클러스터 및 데이터베이스 만들기

다음으로 Azure Digital Twins에서 데이터를 수신할 Kusto(Azure Data Explorer) 클러스터 및 데이터베이스를 만듭니다.

나중에 데이터 기록 연결 설정의 일부로 Azure Digital Twins 인스턴스에 최소한 데이터베이스에 대한 기여자 역할(클러스터로 범위를 지정할 수도 있음) 및 데이터베이스에 대한 관리자 역할을 부여합니다.

Important

클러스터에 공용 네트워크 액세스가 사용하도록 설정되어 있는지 확인합니다. Azure Data Explorer 클러스터에 공용 네트워크 액세스가 비활성화된 경우 Azure Digital Twins는 테이블 및 기타 필수 아티팩트를 구성할 수 없으며 데이터 기록 설정이 실패합니다.

다음 CLI 명령을 사용하여 필요한 리소스를 만듭니다. 명령은 이전에 CLI 세션에 대한 지역 변수 설정에서 만들어진 여러 지역 변수($location, $resourcegroup, $clustername$databasename)를 사용합니다.

아직 없는 경우 CLI 세션에 Kusto 확장을 추가하여 시작합니다.

az extension add --name kusto

다음으로 Kusto 클러스터를 만듭니다. 아래 명령은 실행하는 데 5-10분이 필요하며 개발자 계층에 E2a v4 클러스터를 만듭니다. 이 형식의 클러스터에는 엔진 및 데이터 관리 클러스터에 대한 단일 노드가 있으며 개발 및 테스트 시나리오에 적용할 수 있습니다. Azure Data Explorer의 계층 및 프로덕션 워크로드에 적합한 옵션을 선택하는 방법에 대한 자세한 내용은 Azure Data Explorer 클러스터에 맞는 컴퓨팅 SKU 선택Azure Data Explorer 가격 책정을 참조하세요.

az kusto cluster create --cluster-name $clustername --sku name="Dev(No SLA)_Standard_E2a_v4" tier="Basic" --resource-group $resourcegroup --location $location --type SystemAssigned

새 Kusto 클러스터에 데이터베이스를 만듭니다(위의 클러스터 이름을 사용하여 동일한 위치에 있음). 이 데이터베이스는 상황에 맞는 Azure Digital Twins 데이터를 저장하는 데 사용됩니다. 아래 명령은 일시 삭제 기간이 365일이고 핫 캐시 기간이 31일인 데이터베이스를 만듭니다. 이 명령에 사용할 수 있는 옵션에 대한 자세한 내용은 az kusto database create를 참조하세요.

az kusto database create --cluster-name $clustername --database-name $databasename --resource-group $resourcegroup --read-write-database soft-delete-period=P365D hot-cache-period=P31D location=$location

데이터 기록 연결 설정

이제 필요한 리소스를 만들었으므로 이 섹션의 명령을 사용하여 Azure Digital Twins 인스턴스, 이벤트 허브 및 Azure Data Explorer 클러스터 간에 데이터 기록 연결을 만듭니다.

또한 이 명령은 Azure Data Explorer 데이터베이스에 트윈 속성 업데이트, 트윈 수명 주기 이벤트 및 관계 수명 주기 이벤트를 각각 저장하는 세 개의 테이블을 만듭니다. 이러한 유형의 히스토리화 데이터 및 해당 Azure Data Explorer 테이블에 대한 자세한 내용은 데이터 형식 및 스키마를 참조하세요.

이 섹션의 명령을 사용하여 Azure Data Explorer의 데이터 기록 연결 및 테이블을 만듭니다. 명령은 항상 히스토리화된 트윈 속성 이벤트에 대한 테이블을 만들고 관계 수명 주기 및 트윈 수명 주기 이벤트에 대한 테이블을 만드는 매개 변수를 포함합니다.

참고 항목

기본적으로 이 명령은 모든 리소스가 Azure Digital Twins 인스턴스와 동일한 리소스 그룹에 있다고 가정합니다. 이 명령의 매개 변수 옵션을 사용하여 다른 리소스 그룹에 있는 리소스를 지정할 수 있습니다.

아래 명령은 이전에 CLI 세션에 대한 지역 변수 설정에서 만들어진 지역 변수를 사용하며 여러 매개 변수가 있습니다.

  • Azure Data Explorer 관계 수명 주기 및 트윈 수명 주기 테이블의 이름(이러한 이벤트 유형을 히스토리화하지 않으려는 경우 이러한 매개 변수는 선택 사항이지만 이러한 이벤트 유형을 히스토리화하려는 경우 필요)
  • 트윈 속성 이벤트 테이블의 이름을 지정하는 선택적 매개 변수(이 값이 제공되지 않으면 이 테이블의 이름은 기본값으로 AdtPropertyEvents로 지정됨) 다른 이름을 지정하지 않으려면 명령을 실행하기 전에 명령에서 --adx-property-events-table 매개 변수를 제거합니다.
  • 트윈 속성 삭제(속성을 완전히 제거하는 이벤트)에 대한 히스토리화를 설정하는 선택적 매개 변수 --adx-record-removals
az dt data-history connection create adx --dt-name $dtname --cn $connectionname --adx-cluster-name $clustername --adx-database-name $databasename --eventhub $eventhub --eventhub-namespace $eventhubnamespace --adx-property-events-table $twinpropertytablename --adx-twin-events-table $twinlifecycletablename --adx-relationship-events-table $relationshiplifecycletablename --adx-record-removals true

위의 명령을 실행할 때 데이터 기록 연결을 설정하는 데 필요한 권한을 대신 할당할 수 있는 옵션이 제공됩니다(필요한 권한을 이미 할당한 경우 이 프롬프트를 건너뛸 수 있음). 이러한 권한은 Azure Digital Twins 인스턴스의 관리 ID에 부여됩니다. 필요한 최소 역할은 다음과 같습니다.

  • Event Hubs의 Azure Event Hubs 데이터 소유자
  • 최소한 지정된 데이터베이스로 범위가 지정된 기여자(클러스터로 범위가 지정될 수도 있음)
  • 할당된 데이터베이스로 범위가 할당된 역할 관리자(테이블 만들기/관리용)가 있는 데이터베이스 보안 주체 할당

일반 데이터 평면 작업의 경우 원하는 경우 이러한 역할을 단일 Azure Event Hubs 데이터 보낸 사람 역할로 줄일 수 있습니다.

데이터 기록 연결을 설정한 후 선택적으로 Event Hubs 및 Azure Data Explorer 리소스에 액세스하기 위해 Azure Digital Twins 인스턴스에 부여된 역할을 제거할 수 있습니다. 데이터 기록을 사용하기 위해 앞으로 인스턴스에 필요한 유일한 역할은 Event Hubs 리소스에 대한 Azure Event Hubs 데이터 보낸 사람(또는 Azure Event Hubs 데이터 소유자와 같이 이러한 권한을 포함하는 상위 역할)입니다.

참고 항목

연결이 설정되면 Azure Data Explorer 클러스터의 기본 설정으로 수집 대기 시간이 약 10분 이하가 됩니다. 스트리밍 수집(대기 시간 10초 미만) 또는 수집 일괄 처리 정책을 사용하여 이 대기 시간을 줄일 수 있습니다. Azure Data Explorer 수집 대기 시간에 대한 자세한 내용은 엔드투엔드 수집 대기 시간을 참조하세요.

데이터 기록 리소스에 대한 네트워크 액세스를 제한합니다.

데이터 기록과 관련된 리소스(Azure Digital Twins 인스턴스, 이벤트 허브 또는 Azure Data Explorer 클러스터)에 대한 네트워크 액세스를 제한하려면 데이터 기록 연결을 설정한 후에 해당 제한 사항을 설정해야 합니다. 여기에는 네트워크 액세스를 줄이기 위한 여러 측정값 중에서 리소스에 대한 로컬 액세스를 사용하지 않도록 설정하는 것이 포함됩니다.

데이터 기록 리소스가 서로 통신할 수 있도록 하려면 시스템 할당 관리 ID를 사용하도록 Azure Data Explorer 데이터베이스에 대한 데이터 연결도 수정해야 합니다.

리소스에서 네트워크 액세스를 줄여야 할 때 데이터 기록 연결이 올바르게 설정되었는지 확인하려면 아래 단계 순서를 따릅니다.

  1. 데이터 기록 리소스(Azure Digital Twins 인스턴스, 이벤트 허브 및 Azure Data Explorer 클러스터)에서 로컬 권한 부여가 사용하도록 설정되어 있는지 확인합니다.
  2. 데이터 기록 연결 만들기
  3. 시스템 할당 관리 ID를 사용하도록 Azure Data Explorer 데이터베이스에 대한 데이터 연결을 업데이트합니다. Azure Portal에서는 Azure Data Explorer 클러스터로 이동하고 메뉴의 데이터베이스를 사용하여 데이터 기록 데이터베이스로 이동하여 이 작업을 수행할 수 있습니다. 데이터베이스 메뉴에서 데이터 연결을 선택합니다. 데이터 기록 연결에 대한 표 엔터티에 관리 ID 할당 옵션이 표시되며, 여기에서 시스템 할당을 선택할 수 있습니다. Screenshot of the option to assign a managed identity to a data connection in the Azure portal.
  4. 이제 Azure Digital Twins 인스턴스, 이벤트 허브 또는 Azure Data Explorer 클러스터의 액세스 설정을 변경하여 로컬 권한 부여를 사용하지 않도록 설정하거나 원하는 리소스에 대한 기타 네트워크 제한을 설정할 수 있습니다.

연결 문제 연결 설정

다음은 데이터 기록 연결을 설정할 때 발생할 수 있는 몇 가지 일반적인 오류와 해결 방법입니다.

  • Azure Data Explorer 클러스터에 대해 공용 네트워크 액세스가 사용하지 않도록 설정된 경우 서비스가 데이터 기록 연결을 만들지 못했다는 오류가 발생하고 "내부 서버 오류로 인해 리소스가 ACT할 수 없습니다."라는 메시지가 표시됩니다. Azure Data Explorer 클러스터에 공용 네트워크 액세스가 비활성화된 경우 Azure Digital Twins는 테이블 및 기타 필수 아티팩트를 구성할 수 없으므로 데이터 기록 설정이 실패합니다.
  • (CLI 사용자) 오류가 발생한 경우 "Azure Digital Twins 인스턴스 연결을 만들 수 없습니다. 데이터베이스에서 테이블 및 매핑 규칙을 만들 수 없습니다. Azure 데이터베이스 탐색기에 대한 권한을 확인하고 az login을 실행하여 자격 증명을 새로 고칩니다"라는 메시지가 표시되면 Azure Data Explorer 클러스터의 권한에서 자신을 AllDatabasesAdmin으로 추가하여 오류를 해결합니다.
  • (Cloud Shell 사용자) Cloud Shell을 사용 중이고 오류가 발생한 경우 “MSI에 연결하지 못했습니다. MSI가 올바르게 구성되었는지 확인하세요" 오류가 발생한 경우 로컬 Azure CLI 설치로 명령을 실행해 보세요.

샘플 트윈 그래프로 확인

이제 데이터 기록 연결이 설정되었으므로 디지털 트윈의 데이터로 테스트할 수 있습니다.

그래프 업데이트를 적극적으로 수신하는 Azure Digital Twins instance 트윈이 이미 있는 경우(요소를 만들거나 삭제하여 그래프 구조를 변경하는 트윈 속성 업데이트 또는 업데이트 포함) 이 섹션을 건너뛰고 고유한 리소스를 사용하여 결과를 시각화할 수 있습니다.

그렇지 않으면 이 섹션을 계속 진행하여 트윈 및 관계 수명 주기 이벤트를 수행하고 트윈 속성 업데이트를 생성하는 샘플 그래프를 설정합니다.

Azure Digital Twins 데이터 시뮬레이터를 사용하여 이 시나리오에 대한 샘플 그래프를 설정할 수 있습니다. Azure Digital Twins 데이터 시뮬레이터는 Azure Digital Twins 인스턴스에서 트윈과 관계를 만들고 속성 업데이트를 트윈에 지속적으로 푸시합니다.

샘플 그래프 만들기

Azure Digital Twins 데이터 시뮬레이터를 사용하여 샘플 트윈 그래프를 프로비전하고 여기에 속성 업데이트를 푸시할 수 있습니다. 여기서 만들어진 트윈 그래프는 유제품 회사의 저온 살균 프로세스를 모델링합니다.

브라우저에서 Azure Digital Twins 데이터 시뮬레이터를 열어 시작합니다. 다음 필드를 설정합니다.

  • 인스턴스 URL: Azure Digital Twins 인스턴스의 호스트 이름을 입력합니다. 호스트 이름은 인스턴스의 포털 페이지에서 찾을 수 있으며 <Azure-Digital-Twins-instance-name>.api.<region-code>.digitaltwins.azure.net과 같은 형식입니다.
  • 시뮬레이션 형식: 드롭다운 메뉴에서 유제품 시설을 선택합니다.

환경 생성을 선택합니다.

Screenshot of the Azure Digital Twins Data simulator.

환경에서 모델, 트윈 및 관계가 만들어지면 화면에 확인 메시지가 표시됩니다. 또한 트윈 및 관계 생성 이벤트가 생성되며, 이 이벤트는 각각 트윈 및 관계 수명 주기 이벤트로 Azure Data Explorer로 히스토리화됩니다.

시뮬레이션이 준비되면 시뮬레이션 시작 단추가 사용하도록 설정됩니다. 시뮬레이션된 데이터를 Azure Digital Twins 인스턴스로 푸시하려면 아래로 스크롤하고 시뮬레이션 시작을 선택합니다. Azure Digital Twins 인스턴스에서 트윈을 지속적으로 업데이트하려면 이 브라우저 창을 데스크톱 전경에 유지하고 별도의 창에서 다른 브라우저 작업을 완료합니다. 이렇게 하면 Azure Data Explorer에 히스토리화될 트윈 속성 업데이트 이벤트가 지속적으로 생성됩니다.

Azure Data Explorer에서 히스토리화된 업데이트 보기

이 섹션에서는 시뮬레이터에서 생성되고 Azure Data Explorer 테이블에 저장된 세 가지 형식의 히스토리화된 업데이트를 모두 보는 방법을 보여 줍니다.

Azure Portal에서 시작하여 이전에 만든 Azure Data Explorer 클러스터로 이동합니다. 왼쪽 메뉴에서 데이터베이스 창을 선택하여 데이터베이스 보기를 엽니다. 이 문서를 위해 만든 데이터베이스를 찾아 옆에 있는 확인란을 선택한 다음 쿼리를 선택합니다.

Screenshot of the Azure portal showing a database in an Azure Data Explorer cluster.

그런 다음 왼쪽 창에서 클러스터와 데이터베이스를 확장하여 데이터 기록 테이블 이름을 확인합니다. 세 가지가 있어야 합니다. 하나는 관계 수명 주기 이벤트, 하나는 트윈 수명 주기 이벤트, 하나는 트윈 속성 업데이트 이벤트입니다. 이러한 테이블 이름을 사용하여 테이블에서 쿼리를 실행하여 히스토리화된 데이터를 확인하여 봅니다.

Screenshot of the Azure portal showing the query view for the database. The name of the data history table is highlighted.

테이블 항목 확인

이벤트가 데이터베이스에 히스토리화되고 있는지 확인하려면 다음 명령을 복사하여 시작합니다. 관계 수명 주기 이벤트 테이블의 이름에 대한 자리 표시자가 있으며, 10초마다 라이브 시뮬레이션에서 데이터를 수집하도록 테이블에 대한 수집을 일괄 처리 모드로 변경합니다.

.alter table <relationship-lifecycle-events-table-name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}'

명령을 쿼리 창에 붙여넣고 자리 표시자를 관계 이벤트 테이블 이름으로 바꿉니다. 실행 단추를 선택하여 명령을 실행합니다.

Screenshot of the Azure portal showing the query view for the database. The Run button is highlighted.

트윈 수명 주기 이벤트 테이블속성 업데이트 테이블의 이름을 사용하여 명령을 두 번 더 반복하여 다른 테이블의 수집 모드도 업데이트합니다.

다음으로 쿼리 창에 다음 명령을 추가하고 실행합니다. 각 명령에는 테이블 중 하나의 이름에 대한 자리 표시자가 포함되어 있으며 명령은 테이블의 항목 수를 출력합니다.

참고 항목

수집된 데이터의 첫 번째 일괄 처리가 표시되는 데 최대 5분이 걸릴 수 있습니다.

<relationship-lifecycle-events-table-name>
| count

<twin-lifecycle-events-table-name>
| count

<twin-property-updates-table-name>
| count

결과에서 각 테이블의 항목 수가 0보다 큰 것을 확인해야 합니다. 이는 관계 수명 주기, 트윈 수명 주기 및 속성 업데이트 이벤트가 해당 테이블에 히스토리화되고 있음을 나타냅니다.

트윈 속성 업데이트 표 살펴보기

이 섹션에서는 테이블에 있는 트윈 속성 업데이트 데이터를 사용하여 몇 가지 추가 탐색을 수행합니다.

먼저 다음 명령을 실행하여 테이블에서 100개의 레코드를 봅니다.

<twin-property-updates-table-name>
| limit 100

다음으로 트윈의 데이터를 기반으로 쿼리를 실행하여 상황에 맞는 시계열 데이터를 확인합니다.

아래 쿼리를 사용하여 샘플 오슬로 유제품 센터에 있는 모든 솔트 컴퓨터 트윈의 유출을 차트로 표시합니다. 이 Kusto 쿼리는 Azure Digital Twins 플러그 인을 사용하여 관심 트윈을 선택하고 Azure Data Explorer의 데이터 기록 시계열에 대해 해당 트윈을 조인한 다음 결과를 차트로 표시합니다. <ADT-instance-host-name> 자리 표시자를 인스턴스 호스트 이름으로 바꾸고 <table-name> 자리 표시자를 트윈 속성 이벤트 테이블의 이름으로 바꿔야 합니다.

let ADTendpoint = "https://<ADT-instance-host-name>";
let ADTquery = ```SELECT SALT_MACHINE.$dtId as tid
FROM DIGITALTWINS FACTORY 
JOIN SALT_MACHINE RELATED FACTORY.contains 
WHERE FACTORY.$dtId = 'OsloFactory'
AND IS_OF_MODEL(SALT_MACHINE , 'dtmi:assetGen:SaltMachine;1')```;
evaluate azure_digital_twins_query_request(ADTendpoint, ADTquery)
| extend Id = tostring(tid)
| join kind=inner (<table-name>) on Id
| extend val_double = todouble(Value)
| where Key == "OutFlow"
| render timechart with (ycolumns = val_double)

결과에는 시간 경과에 따라 변화하는 유출 수치가 표시되어야 합니다.

Screenshot of the Azure portal showing the query view for the database.

연결 문제 해결

Azure Data Explorer에 데이터가 표시되지 않으면 기록 데이터 흐름이 제대로 작동하지 않는 것입니다. Azure Portal Event Hubs 네임스페이스를 확인하여 문제를 조사할 수 있습니다. 이 네임스페이스는 네임스페이스로 들어오고 나가는 메시지의 흐름을 보여 주는 차트를 표시합니다. 이렇게 하면 Azure Digital Twins에서 들어오는 메시지의 흐름과 Azure Data Explorer로 보내는 메시지를 모두 확인하여 흐름의 어느 부분이 작동하지 않는지 식별할 수 있습니다.

Screenshot of the Azure portal showing an Event Hubs namespace for the simulated environment.

다음 단계

유제품 시나리오를 계속 탐색하려면 GitHub에서 더 많은 샘플 쿼리를 참조하세요. 기계 유형, 공장, 유지 관리 기술자 및 이러한 매개 변수의 다양한 조합을 기반으로 유제품 작업의 성능을 모니터링하는 방법을 보여 줍니다.

유제품 작업의 성능을 시각화하는 Grafana 대시보드를 빌드하려면 Azure Digital Twins, Azure Data Explorer 및 Grafana로 대시보드 만들기를 참조하세요.

Azure Data Explorer용 Azure Digital Twins 쿼리 플러그 인 사용에 대한 자세한 내용은 Azure Data Explorer 플러그 인으로 쿼리이 블로그 게시물을 참조하세요. 플러그 인에 대한 자세한 내용은 Azure Data Explorer 플러그 인으로 쿼리를 참조하세요.