Журнал данных Azure Digital Twins (с Обозреватель данных Azure)

Журнал данных — это функция интеграции Azure Digital Twins. Он позволяет подключить экземпляр Azure Digital Twins к кластеру Обозреватель данных Azure, чтобы обновления графов автоматически выписывался в Обозреватель данных Azure. Эти журнализованные обновления включают обновления свойств двойника, события жизненного цикла двойника и события жизненного цикла связи.

После обновления графов в azure Data Обозреватель можно выполнять совместные запросы с помощью подключаемого модуля Azure Digital Twins для Azure Data Обозреватель для причины для цифровых двойников, их связей и данных временных рядов. Это можно использовать для того, чтобы просмотреть время на состояние графа, используемого для работы, или получить аналитические сведения о поведении моделиированных сред. Вы также можете использовать эти запросы для управления рабочими панелями мониторинга, обогащения двухмерных и трехмерных веб-приложений и внедрения иммерсивных дополненных и смешанных реальностей для передачи текущего и исторического состояния активов, процессов и людей, моделиируемых в Azure Digital Twins.

Дополнительные сведения об журнале данных, включая быструю демонстрацию, см. в следующем видео:

Сообщения, создаваемые журналом данных, измеряются в соответствии с измерением цен на сообщение.

Предварительные требования: ресурсы и разрешения

Для журнала данных требуются следующие ресурсы:

Эти ресурсы подключены к следующему потоку:

Diagram showing the flow of device telemetry data into Azure Digital Twins, through an event hub, to Azure Data Explorer.

При обновлении графа цифровых двойников сведения передаются через концентратор событий в целевой кластер azure Data Обозреватель, где данные Azure Обозреватель хранят данные в виде метки времени в соответствующей таблице.

При работе с журналом данных рекомендуется использовать api 2023-01-31 или более поздней версии. В версии 2022-05-31 можно инициализировать только свойства двойников (а не события жизненного цикла двойников или жизненных циклов связей). В более ранних версиях журнал данных недоступен.

Необходимые разрешения

Чтобы настроить подключение к журналу данных, экземпляр Azure Digital Twins должен иметь следующие разрешения для доступа к центрам событий и ресурсам Azure Data Обозреватель. Эти роли позволяют Azure Digital Twins настраивать концентратор событий и базу данных Azure data Обозреватель от вашего имени (например, создание таблицы в базе данных). Эти разрешения можно удалить при необходимости после настройки журнала данных.

  • Ресурс Центров событий: владелец данных Центры событий Azure
  • Кластер Обозреватель данных Azure: участник (область в весь кластер или определенную базу данных)
  • Назначение субъекта базы данных Azure Обозреватель: Администратор (область в используемую базу данных)

Позже экземпляр Azure Digital Twins должен иметь следующее разрешение на ресурс Центров событий во время использования журнала данных: Центры событий Azure отправитель данных (вы также можете вместо этого сохранить Центры событий Azure владельца данных из настройки журнала данных).

Эти разрешения можно назначить с помощью Azure CLI или портал Azure.

Если вы хотите ограничить сетевой доступ к ресурсам, участвующим в журнале данных (экземпляр Azure Digital Twins, концентратор событий или кластер Azure Data Обозреватель), необходимо задать эти ограничения после настройки подключения к журналу данных. Дополнительные сведения об этом процессе см. в разделе "Ограничение сетевого доступа к ресурсам журнала данных".

Создание подключения журнала данных и управление ими

В этом разделе содержатся сведения о создании, обновлении и удалении подключения к журналу данных.

Создание подключения к журналу данных

После настройки всех ресурсов и разрешений можно использовать Azure CLI, портал Azure или пакет SDK Azure Digital Twins для создания соединения журнала данных между ними. Набор команд CLI — az dt data-history.

Команда всегда создаст таблицу для событий свойств двойника, которые могут использовать имя по умолчанию или пользовательское имя, которое вы указали. При необходимости удаления свойств двойников можно включить в эту таблицу. Вы также можете указать имена таблиц для событий жизненного цикла отношений и событий жизненного цикла двойников, и команда создаст таблицы с этими именами, чтобы инициализировать эти типы событий.

Пошаговые инструкции по настройке подключения к журналу данных см. в статье "Создание подключения к журналу данных".

Журнал из нескольких экземпляров Azure Digital Twins

Если вы хотите, вы можете использовать несколько экземпляров Azure Digital Twins, которые будут создавать обновления в одном кластере данных Azure Обозреватель.

Каждый экземпляр Azure Digital Twins будет иметь собственное подключение к журналу данных, предназначенное для одного кластера azure Data Обозреватель. В кластере экземпляры могут отправлять данные двойников в любой из этих кластеров...

  • отдельный набор таблиц в кластере Обозреватель данных Azure.
  • тот же набор таблиц в кластере Обозреватель данных Azure. Для этого укажите те же имена таблиц azure data Обозреватель при создании подключений к журналу данных. В схемахServiceId таблиц журнала данных столбец в каждой таблице будет содержать URL-адрес исходного экземпляра Azure Digital Twins, поэтому это поле можно использовать для разрешения того, какой экземпляр Azure Digital Twins генерирует каждую запись в общих таблицах.

Обновление подключения журнала данных только для свойств

До февраля 2023 года журнал данных поддерживает только обновления свойств двойника. Если у вас есть подключение журнала данных только для свойств с этого момента, его можно обновить, чтобы инициализировать все обновления графов в Azure Data Обозреватель (включая свойства двойника, события жизненного цикла двойников и события жизненного цикла связи).

Для этого потребуется создать новые таблицы в кластере azure Data Обозреватель для новых типов журнализованных обновлений (события жизненного цикла двойника и события жизненного цикла связи). Для событий свойств двойника можно решить, следует ли продолжать использовать новую таблицу из исходного подключения журнала данных для хранения обновлений свойств двойников, или если вы хотите, чтобы новое подключение использовало совершенно новый набор таблиц. Затем следуйте приведенным ниже инструкциям для вашего предпочтения.

Если вы хотите продолжать использовать существующую таблицу для обновлений свойств двойников: используйте инструкции в статье "Создание подключения журнала данных" для создания нового подключения к журналу данных с новыми возможностями. Имя подключения к журналу данных может совпадать с исходным или другим именем. Используйте параметры параметра, чтобы указать новые имена для двух новых таблиц типов событий, а также передать исходное имя таблицы свойств двойника для таблицы обновлений свойств двойника. Новое подключение переопределит старое и продолжит использовать исходную таблицу для будущих обновлений свойств двойника.

Если вы хотите использовать все новые таблицы: сначала удалите исходное подключение к журналу данных. Затем используйте инструкции в разделе "Создание подключения к журналу данных", чтобы создать новое соединение журнала данных с новыми возможностями. Имя подключения к журналу данных может совпадать с исходным или другим именем. Используйте параметры параметра, чтобы указать новые имена для всех трех таблиц типов событий.

Удаление подключения журнала данных

Вы можете использовать ИНТЕРФЕЙС командной строки Azure, портал Azure или API-интерфейсы Azure Digital Twins и пакеты SDK для удаления подключения к журналу данных. Команда CLI — az dt data-history connection delete.

При удалении подключения также предоставляется возможность очистки ресурсов, связанных с подключением журнала данных (для команды CLI, дополнительный параметр для добавления --clean true). При использовании этого параметра команда удалит ресурсы в Обозреватель данных Azure, которые используются для связывания кластера с концентратором событий, включая подключения к данным для базы данных и сопоставления приема, связанные с таблицей. Параметр "Очистка ресурсов" не удаляет фактический концентратор событий и кластер azure Data Обозреватель, используемый для подключения к журналу данных.

Очистка является лучшей попыткой, и требует, чтобы учетная запись, выполняющая команду, иметь разрешение на удаление для этих ресурсов.

Примечание.

Если у вас несколько подключений к журналу данных, которые используют один и тот же концентратор событий или кластер Azure Data Обозреватель, при удалении одного из этих подключений могут нарушить другие подключения журнала данных, которые используют эти ресурсы.

Типы данных и схемы

Журнал данных описывает три типа событий из экземпляра Azure Digital Twins в Azure Data Обозреватель: события жизненного цикла связи, события жизненного цикла двойника и обновления свойств двойников (которые могут также включать удаление свойств двойников). Каждый из этих типов событий хранится в собственной таблице в базе данных Azure data Обозреватель, то есть журнал данных сохраняет три таблицы в общей сложности. При настройке подключения к журналу данных можно указать пользовательские имена таблиц.

Остальная часть этого раздела подробно описывает три таблицы azure Data Обозреватель, включая схему данных для каждой таблицы.

Обновления свойств Twin

Таблица azure Data Обозреватель для обновлений свойств двойников имеет имя adtPropertyEvents по умолчанию. При создании подключения можно оставить имя по умолчанию или указать пользовательское имя таблицы.

Данные временных рядов для обновлений свойств двойника хранятся со следующей схемой:

Атрибут Тип Описание
TimeStamp Дата/время Дата и время обработки сообщения об обновлении свойства Azure Digital Twins. Это поле задается системой и не является записываемым пользователями.
SourceTimeStamp Дата/время Необязательное, записываемое свойство, представляющее метку времени при обнаружении обновления свойства в реальном мире. Это свойство можно записать только с помощью версии API и пакетов SDK Azure Digital Twins 2022-05-31, а значение должно соответствовать формату даты и времени ISO 8601. Дополнительные сведения об обновлении этого свойства см. в разделе Update a property's sourceTime.
ServiceId Строка Идентификатор экземпляра службы Службы Интернета вещей Azure
Id Строка Идентификатор двойника
ModelId Строка Идентификатор модели DTDL (DTMI)
Key Строка Имя обновленного свойства
Value Динамический Значение обновленного свойства
RelationshipId Строка При обновлении свойства, определенного в связи (в отличие от двойников или устройств), это поле заполняется идентификатором связи. При обновлении свойства двойника это поле пусто.
RelationshipTarget Строка При обновлении свойства, определенного в связи (в отличие от двойников или устройств), это поле заполняется идентификатором двойника двойника, предназначенным для связи. При обновлении свойства двойника это поле пусто.
Action Строка Этот столбец существует только в том случае, если вы решили инициализировать события удаления свойств. Если да, этот столбец содержит тип события свойства двойника (обновление или удаление)

Ниже приведена примерная таблица обновлений свойств двойника, хранящихся в Обозреватель данных Azure.

TimeStamp SourceTimeStamp ServiceId Id ModelId Key Value RelationshipTarget RelationshipID
2022-12-15 20:23:29.8697482 2022-12-15 20:22:14.3854859 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 dtmi:assetGen:PasteurizationMachine;1 Выходные данные 130
2022-12-15 20:23:39.3235925 2022-12-15 20:22:26.5837559 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 dtmi:assetGen:PasteurizationMachine;1 Выходные данные 140
2022-12-15 20:23:47.078367 2022-12-15 20:22:34.9375957 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 dtmi:assetGen:PasteurizationMachine;1 Выходные данные 130
2022-12-15 20:23:57.3794198 2022-12-15 20:22:50.1028562 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 dtmi:assetGen:PasteurizationMachine;1 Выходные данные 123

Представление свойств с помощью нескольких полей

Возможно, потребуется сохранить свойство с несколькими полями. Эти свойства представлены объектом JSON в Value атрибуте схемы.

Например, если вы представляете свойство с тремя полями для свертки, шага и явки, журнал данных будет хранить следующий объект JSON в виде Value: {"roll": 20, "pitch": 15, "yaw": 45}.

События жизненного цикла двойника

Таблица azure Data Обозреватель для событий жизненного цикла двойников имеет пользовательское имя, которое будет указано при создании подключения к журналу данных.

Данные временных рядов для событий жизненного цикла двойников хранятся со следующей схемой:

Атрибут Тип Описание:
TwinId Строка Идентификатор двойника
Action Строка Тип события жизненного цикла двойника (создание или удаление)
TimeStamp Дата/время Событие жизненного цикла двойника было обработано Azure Digital Twins. Это поле задается системой и не является записываемым пользователями.
ServiceId Строка Идентификатор экземпляра службы Службы Интернета вещей Azure
ModelId Строка Идентификатор модели DTDL (DTMI)

Ниже приведен пример таблицы обновлений жизненного цикла двойников, хранящихся в Обозреватель данных Azure.

TwinId Action TimeStamp ServiceId ModelId
PasteurizationMachine_A01 Создание 2022-12-15 07:14:12.4160 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1
PasteurizationMachine_A02 Создание 2022-12-15 07:14:12.4210 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1
SaltMachine_C0 Создание 2022-12-15 07:14:12.5480 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:SaltMachine;1
PasteurizationMachine_A02 DELETE 2022-12-15 07:15:49.6050 dairyadtinstance.api.wcus.digitaltwins.azure.net dtmi:assetGen:PasteurizationMachine;1

События жизненного цикла отношений

Таблица данных Azure Обозреватель для событий жизненного цикла отношений имеет пользовательское имя, которое будет указано при создании подключения к журналу данных.

Данные временных рядов для событий жизненного цикла отношений хранятся со следующей схемой:

Атрибут Тип Описание:
RelationshipId Строка Идентификатор связи. Это поле задается системой и не является записываемым пользователями.
Name Строка Имя отношения
Action Тип события жизненного цикла отношений (создание или удаление)
TimeStamp Дата/время Дата и время обработки события жизненного цикла связи Azure Digital Twins. Это поле задается системой и не является записываемым пользователями.
ServiceId Идентификатор экземпляра службы Службы Интернета вещей Azure
Source Идентификатор исходного двойника. Это идентификатор двойника, в котором происходит связь.
Target Идентификатор целевого двойника. Это идентификатор двойника, в котором поступает связь.

Ниже приведен пример таблицы обновлений жизненного цикла отношений, хранящихся в Обозреватель данных Azure.

RelationshipId Name Action TimeStamp ServiceId Source Target
PasteurizationMachine_A01_feeds_Relationship0 ленты Создание 2022-12-15 07:16:12.7120 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A01 SaltMachine_C0
PasteurizationMachine_A02_feeds_Relationship0 ленты Создание 2022-12-15 07:16:12.7160 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A02 SaltMachine_C0
PasteurizationMachine_A03_feeds_Relationship0 ленты Создание 2022-12-15 07:16:12.7250 dairyadtinstance.api.wcus.digitaltwins.azure.net PasteurizationMachine_A03 SaltMachine_C1
OsloFactory_contains_Relationship0 содержит DELETE 2022-12-15 07:16:13.1780 dairyadtinstance.api.wcus.digitaltwins.azure.net ОслоФакторинг SaltMachine_C0

Сквозная задержка приема

Журнал данных Azure Digital Twins основан на существующем механизме приема данных, предоставленном Обозреватель данных Azure. Azure Digital Twins гарантирует, что события обновления графа становятся доступными для azure Data Обозреватель в течение менее двух секунд. Дополнительная задержка может быть введена Обозреватель приема данных Azure.

Существует два метода в Azure Data Обозреватель для приема данных: пакетное прием иприем потоковой передачи. Эти методы приема можно настроить для отдельных таблиц в соответствии с вашими потребностями и конкретным сценарием приема данных.

Прием потоковой передачи имеет наименьшую задержку. Тем не менее, из-за затрат на обработку этот режим следует использовать только в том случае, если каждые час выполняется прием менее 4 ГБ данных. Прием пакетной службы лучше всего подходит, если ожидается высокая скорость приема данных. Azure Data Обозреватель использует пакетную приемку по умолчанию. В следующей таблице приведены ожидаемые конечные задержки в худшем случае:

Конфигурация Обозреватель данных Azure Ожидаемая сквозная задержка Рекомендуемая скорость данных
Прием потоковой передачи <12 с (<3 с типичной) <4 ГБ / ч
Прием пакетной службы Зависит (от 12 с до 15 м в зависимости от конфигурации) >4 ГБ / ч

Остальная часть этого раздела содержит сведения о включении каждого типа приема.

Прием пакетной службы (по умолчанию)

Если не настроено в противном случае, Обозреватель данных Azure будет использовать пакетную приемку. Параметры по умолчанию могут привести к тому, что данные доступны для запроса только через 5–10 минут после выполнения обновления цифрового двойника. Политика приема может быть изменена, так что пакетная обработка выполняется не более 10 секунд (не менее 15 минут). Чтобы изменить политику приема, в представлении запроса azure Data Обозреватель необходимо выполнить следующую команду:

.alter table <table_name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}' 

Убедитесь, что <table_name> она заменена именем таблицы, настроенной для вас. Значение MaximumBatchingTimeSpan должно быть задано в качестве предпочтительного интервала пакетной обработки. Для принятия политики в силу может потребоваться 5–10 минут. Дополнительные сведения о пакетной обработке приема см. по следующей ссылке: команда управления политиками Kusto IngestionBatching.

Прием потоковой передачи

Включение приема потоковой передачи — это 2-шаговый процесс:

  1. Включите прием потоковой передачи для кластера. Это действие должно выполняться только один раз. (Предупреждение. Это влияет на объем хранилища, доступного для горячего кэша, и может привести к дополнительным ограничениям. Инструкции см. в статье "Настройка приема потоковой передачи" в кластере Обозреватель данных Azure.
  2. Добавьте политику приема потоковой передачи для требуемой таблицы. Дополнительные сведения о включении приема потоковой передачи для кластера см. в документации по Обозреватель данных Azure: команда управления политиками Kusto IngestionBatching.

Чтобы включить прием потоковой передачи для таблицы журнала данных Azure Digital Twins, в области запросов azure Data Обозреватель необходимо выполнить следующую команду:

.alter table <table_name> policy streamingingestion enable 

Убедитесь, что <table_name> она заменена именем таблицы, настроенной для вас. Для принятия политики в силу может потребоваться 5–10 минут.

Визуализация инициализированных свойств

Azure Digital Twins Обозреватель, средство разработчика для визуализации и взаимодействия с данными Azure Digital Twins, предлагает функцию обозревателя журналов данных для просмотра историй свойств с течением времени в диаграмме или таблице. Эта функция также доступна в 3D-сценной студии, иммерсивной трехмерной среде для предоставления Azure Digital Twins визуального контекста трехмерных ресурсов.

Screenshot of data history explorer for 3D Scenes Studio.

Дополнительные сведения об использовании обозревателя журнала данных см. в статье "Проверка и изучение инициализированных свойств".

Примечание.

При возникновении проблем, связанных с выбором свойства в визуальном обозревателе журналов данных, это может означать, что в вашем экземпляре возникает ошибка. Например, если в атрибутах модели не уникальные значения перечисления преобразуются в эту функцию визуализации. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.

Следующие шаги

После того как данные двойника будут инициализированы в Azure Data Обозреватель, можно использовать подключаемый модуль запросов Azure Digital Twins для Обозреватель данных Azure для выполнения запросов по данным. Дополнительные сведения о подключаемом модуле см. в статье "Запросы" с помощью подключаемого модуля azure Data Обозреватель.

Кроме того, подробно изучите журнал данных с инструкциями по созданию и примером сценария : создание подключения к журналу данных.