Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Журнал данных — это функция интеграции Azure Digital Twins. Он позволяет подключить экземпляр Azure Digital Twins к кластеру Azure Data Explorer, чтобы обновления графов автоматически сохранялись в виде истории в Azure Data Explorer. Эти историзированные обновления включают в себя обновления свойств цифрового двойника, события жизненного цикла цифрового двойника и события жизненного цикла отношений.
После того как обновления графа сохранены в Azure Data Explorer, вы можете выполнять объединенные запросы с использованием плагина Azure Digital Twins для Azure Data Explorer, чтобы осуществлять анализ относительно цифровых двойников, их связей и данных временных рядов. Это можно использовать для того, чтобы посмотреть на прошлое состояние графа или получить полезные сведения о поведении моделируемых сред. Вы также можете использовать эти запросы для управления рабочими панелями мониторинга, обогащения двухмерных и трехмерных веб-приложений и внедрения иммерсивных дополненных и смешанных реальностей для передачи текущего и исторического состояния активов, процессов и людей, моделиируемых в Azure Digital Twins.
Более полную информацию об истории данных, включая быструю демонстрацию, можно найти в следующем видео из серии "IoT шоу":
Сообщения, генерируемые историей данных, учитываются в рамках ценового измерения сообщений.
Предварительные требования: ресурсы и разрешения
Для журнала данных требуются следующие ресурсы:
- Экземпляр Azure Digital Twins с включенным управляемым удостоверением, назначаемым системой .
- Пространство имен Event Hubs, содержащее шлюз событий.
- Кластер Azure Data Explorer, содержащий базу данных. Кластер должен иметь доступ к общедоступной сети.
Эти ресурсы подключены к следующему потоку:
При обновлении графа цифровых двойников информация передается через концентратор событий в целевой кластер Azure Data Explorer, где Azure Data Explorer сохраняет данные с отметкой времени в соответствующей таблице.
При работе с журналом данных рекомендуется использовать api 2023-01-31 или более поздней версии. В версии 2022-05-31 можно архивировать только свойства двойников (а не события жизненного цикла двойников или жизненного цикла связей). В более ранних версиях журнал данных недоступен.
Необходимые разрешения
Чтобы настроить подключение к журналу данных, экземпляр Azure Digital Twins должен иметь следующие разрешения для доступа к центрам событий и ресурсам Azure Data Explorer. Эти роли позволяют Azure Digital Twins настраивать концентратор событий и базу данных Azure Data Explorer от вашего имени (например, создание таблицы в базе данных). Эти разрешения можно удалить при необходимости после настройки журнала данных.
- Ресурс Центров событий: владелец данных Azure Event Hubs
- Кластер Azure Data Explorer: соавтор (с применением как ко всему кластеру, так и к конкретной базе данных)
- Назначение субъекта базы данных Azure Data Explorer: администратор (область использования базы данных)
Позже экземпляр Azure Digital Twins должен иметь следующее разрешение на ресурс Центров событий во время использования журнала данных: отправитель данных Центров событий Azure (вы также можете сохранить владельца данных Центров событий Azure из настройки журнала данных).
Эти разрешения можно назначить с помощью Azure CLI или портала Azure.
Если вы хотите ограничить сетевой доступ к ресурсам, связанным с историей данных (вашему экземпляру Azure Digital Twins, концентраторам событий или кластеру Azure Data Explorer), вы должны установить эти ограничения после настройки соединения для истории данных. Дополнительные сведения об этом процессе см. в разделе "Ограничение сетевого доступа к ресурсам журнала данных".
Создание подключения журнала данных и управление ими
В этом разделе содержатся сведения о создании, обновлении и удалении подключения к журналу данных.
Создать подключение для истории данных
После настройки всех ресурсов и разрешений можно использовать Azure CLI, портал Azure или пакет SDK Azure Digital Twins для создания подключения к журналу данных между ними. Набор команд CLI — az dt data-history.
Команда всегда будет создавать таблицу для истории событий свойств цифрового двойника, которая может использовать имя по умолчанию или пользовательское имя, которое вы указали. Удаления свойств двойных записей можно при необходимости включить в эту таблицу. Вы также можете указать имена таблиц для событий жизненного цикла отношений и событий жизненного цикла двойников, и команда создаст таблицы с этими именами, чтобы инициализировать эти типы событий.
Пошаговые инструкции по настройке подключения к журналу данных см. в статье "Создание подключения к журналу данных".
История из нескольких инстанций Azure Digital Twins
При желании можно использовать несколько экземпляров Azure Digital Twins для сохранения истории обновлений в одном и том же кластере Azure Data Explorer.
Каждый экземпляр Azure Digital Twins будет иметь собственное подключение к журналу данных, предназначенное для одного кластера Azure Data Explorer. В кластере экземпляры могут отправлять данные двойников в любой из этих двух вариантов...
- отдельный набор таблиц в кластере Azure Data Explorer.
-
тот же набор таблиц в кластере Azure Data Explorer. Для этого укажите те же имена таблиц Azure Data Explorer при создании подключений к журналу данных. В схемах
ServiceId
столбец в каждой таблице будет содержать URL-адрес исходного экземпляра Azure Digital Twins, поэтому это поле можно использовать для разрешения того, какой экземпляр Azure Digital Twins генерирует каждую запись в общих таблицах.
Обновить соединение истории данных, содержащей только свойства
До февраля 2023 года функция истории данных сохраняла в истории только обновления свойств двойников. Если у вас есть подключение истории данных только для свойств с того времени, вы можете обновить его, чтобы хранить всю историю обновлений графа в Azure Data Explorer (включая свойства близнецов, события жизненного цикла близнецов и события жизненного цикла связи).
Для этого потребуется создать новые таблицы в кластере Azure Data Explorer для новых типов журнализованных обновлений (события жизненного цикла двойника и события жизненного цикла связи). Для событий свойств двойника вы можете решить, хотите ли вы, чтобы новое подключение продолжало использовать ту же таблицу из исходного подключения журнала данных для хранения обновлений свойств двойников в будущем, или чтобы новое подключение использовало совершенно новый набор таблиц. Затем следуйте приведенным ниже инструкциям для вашего предпочтения.
Если вы хотите продолжить использование существующей таблицы для обновлений свойств двойников: Используйте инструкции в статье "Создание подключения к журналу данных", чтобы создать новое соединение журнала данных с новыми возможностями. Имя подключения к журналу данных может совпадать с исходным или другим именем. Используйте опции параметров, чтобы указать новые имена для двух таблиц новых типов событий и передать исходное имя таблицы для обновлений свойств двойника. Новое подключение заменит старое и продолжит использовать исходную таблицу для будущих обновлений историзированных свойств двойника.
Если вы хотите использовать все новые таблицы: Сначала удалите исходное подключение к журналу данных. Затем используйте инструкции в разделе "Создание подключения к журналу данных" , чтобы создать новое соединение журнала данных с новыми возможностями. Имя подключения к журналу данных может совпадать с исходным или другим именем. Используйте параметры, чтобы предоставить новые имена для всех трех таблиц типов событий.
Удаление подключения журнала данных
Вы можете использовать ИНТЕРФЕЙС командной строки Azure, портал Azure или API-интерфейсы Azure Digital Twins и пакеты SDK для удаления подключения к журналу данных. Команда CLI — az dt data-history connection delete.
При удалении подключения также предоставляется возможность очистки ресурсов, связанных с подключением журнала данных (для команды CLI, дополнительный параметр для добавления --clean true
). При использовании этого параметра команда удаляет ресурсы в Azure Data Explorer, которые используются для связывания вашего кластера с концентратором событий, включая подключения данных для базы данных и настройки поглощения, связанные с вашей таблицей. Параметр "Очистка ресурсов" не удаляет фактический концентратор событий и кластер Azure Data Explorer, используемый для подключения к журналу данных.
Очистка производится по возможности и требует, чтобы учетная запись, выполняющая команду, имела разрешение на удаление этих ресурсов.
Замечание
Если у вас есть несколько подключений к истории данных, которые используют один и тот же концентратор событий или кластер Azure Data Explorer, использование опции "очистка ресурсов" при удалении одного из этих подключений может нарушить работу других подключений к истории данных, использующих эти ресурсы.
Типы данных и схемы
Журнал данных описывает три типа событий из экземпляра Azure Digital Twins в Azure Data Explorer: события жизненного цикла отношений, события жизненного цикла двойника и обновления свойств двойников (которые могут при необходимости включать удаление свойств двойника). Каждый из этих типов событий хранится в собственной таблице в базе данных Azure Data Explorer, то есть журнал данных сохраняет три таблицы в общей сложности. При настройке подключения к журналу данных можно указать пользовательские имена таблиц.
Остальная часть этого раздела подробно описывает три таблицы Azure Data Explorer, включая схему данных для каждой таблицы.
Обновления свойств Twin
Таблица Azure Data Explorer для обновлений свойств двойников имеет имя adtPropertyEvents по умолчанию. При создании подключения можно оставить имя по умолчанию или указать пользовательское имя таблицы.
Данные временных рядов для обновления двойниковых свойств хранятся по следующей схеме:
Свойство | Тип | Описание |
---|---|---|
TimeStamp |
дата и время | Дата и время, когда сообщение об обновлении свойств было обработано в Azure Digital Twins. Это поле задается системой и не является записываемым пользователями. |
SourceTimeStamp |
дата и время | Необязательное, записываемое свойство, представляющее метку времени при обнаружении обновления свойства в реальном мире. Это свойство можно записать только с помощью версии API и пакетов SDK Azure Digital Twins 2022-05-31, а значение должно соответствовать формату даты и времени ISO 8601. Дополнительные сведения об обновлении этого свойства см. в разделе Update a property's sourceTime. |
ServiceId |
Струна | Идентификатор экземпляра службы, ведущей запись, в Azure IoT. |
Id |
Струна | Идентификатор двойника |
ModelId |
Струна | Идентификатор модели DTDL (DTMI) |
Key |
Струна | Имя обновленного свойства |
Value |
Динамический | Значение обновленного свойства |
RelationshipId |
Струна | При обновлении свойства, определенного в связи (в отличие от двойников или устройств), это поле заполняется идентификатором связи. При обновлении свойства двойника это поле пусто. |
RelationshipTarget |
Струна | При обновлении свойства, определенного на связи (а не на двойниках или устройствах), это поле заполняется идентификатором двойника, на который указывает связь. При обновлении свойства двойника это поле пусто. |
Action |
Струна | Этот столбец существует только в том случае, если вы решили историзировать события удаления свойств. Если да, этот столбец содержит тип события свойства двойника (обновление или удаление) |
Ниже приведен пример таблицы обновлений свойств двойника, хранящихся в Azure Data Explorer.
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 | МашинаПастеризации_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 | МашинаПастеризации_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 | МашинаПастеризации_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 | МашинаПастеризации_A01 | dtmi:assetGen:PasteurizationMachine;1 |
Выходные данные | 123 |
Представление свойств с помощью нескольких полей
Возможно, потребуется сохранить свойство с несколькими полями. Эти свойства представлены объектом JSON в Value
атрибуте схемы.
Например, если вы представляете свойство с тремя полями для углов крена, тангажа и рыскания, история данных будет хранить следующий объект JSON как Value
: {"roll": 20, "pitch": 15, "yaw": 45}
.
События жизненного цикла двойника
Таблица Azure Data Explorer для событий жизненного цикла двойников имеет пользовательское имя, которое будет указано при создании подключения к журналу данных.
Данные временных рядов для событий жизненного цикла двойников хранятся со следующей схемой:
Свойство | Тип | Описание |
---|---|---|
TwinId |
Струна | Идентификатор двойника |
Action |
Струна | Тип события жизненного цикла двойника (создание или удаление) |
TimeStamp |
дата и время | Дата/время обработки события жизненного цикла двойника в Azure Digital Twins. Это поле задается системой и не является записываемым пользователями. |
ServiceId |
Струна | Идентификатор экземпляра службы, ведущей запись, в Azure IoT. |
ModelId |
Струна | Идентификатор модели DTDL (DTMI) |
Ниже приведен пример таблицы обновлений жизненного цикла двойника, хранящихся в Azure Data Explorer.
TwinId |
Action |
TimeStamp |
ServiceId |
ModelId |
---|---|---|---|---|
МашинаПастеризации_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 | Удалить | 2022-12-15 07:15:49.6050 | dairyadtinstance.api.wcus.digitaltwins.azure.net | dtmi:assetGen:PasteurizationMachine;1 |
События жизненного цикла отношений
Таблица Azure Data Explorer для событий жизненного цикла отношений имеет пользовательское имя, которое будет указано при создании подключения к журналу данных.
Данные временных рядов для событий жизненного цикла отношений хранятся со следующей схемой:
Свойство | Тип | Описание |
---|---|---|
RelationshipId |
Струна | Идентификатор отношений. Это поле задается системой и не является записываемым пользователями. |
Name |
Струна | Название отношения |
Action |
Тип события жизненного цикла отношений (создание или удаление) | |
TimeStamp |
дата и время | Дата и время обработки события жизненного цикла отношений в Azure Digital Twins. Это поле задается системой и не является записываемым пользователями. |
ServiceId |
Идентификатор экземпляра службы, ведущей запись, в Azure IoT. | |
Source |
Идентификатор исходного близнеца. Это идентификатор двойника, где начинается отношение. | |
Target |
Идентификатор целевого двойника. Это идентификатор двойника, к которому приходит связь. |
Ниже приведен пример таблицы обновлений жизненного цикла отношений, хранящихся в Azure Data Explorer.
RelationshipId |
Name |
Action |
TimeStamp |
ServiceId |
Source |
Target |
---|---|---|---|---|---|---|
PasteurizationMachine_A01_подачи_Relationship0 | Каналы | Создайте | 2022-12-15 07:16:12.7120 | dairyadtinstance.api.wcus.digitaltwins.azure.net | МашинаПастеризации_A01 | SaltMachine_C0 |
PasteurizationMachine_A02_каналы_Связь0 | Каналы | Создайте | 2022-12-15 07:16:12.7160 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A02 | SaltMachine_C0 |
PasteurizationMachine_A03_feeds_Отношение0 | Каналы | Создайте | 2022-12-15 07:16:12.7250 | dairyadtinstance.api.wcus.digitaltwins.azure.net | PasteurizationMachine_A03 | SaltMachine_C1 |
OsloFactory_contains_Relationship0 | содержит | Удалить | 2022-12-15 07:16:13.1780 | dairyadtinstance.api.wcus.digitaltwins.azure.net | ОслоФабрика | SaltMachine_C0 |
Сквозная задержка приема данных
История данных Azure Digital Twins основывается на существующем механизме ввода данных, предоставленном Azure Data Explorer. Azure Digital Twins обеспечит доступность событий обновления графа в Azure Data Explorer в течение менее двух секунд. Дополнительная задержка может возникать из-за приема данных в Azure Data Explorer.
Существует два метода в Azure Data Explorer для инжестирования данных: пакетное инжестирование и потоковое инжестирование. Эти методы приема можно настроить для отдельных таблиц в соответствии с вашими потребностями и конкретным сценарием приема данных.
Прием потоковой передачи имеет наименьшую задержку. Тем не менее, из-за затрат на обработку этот режим следует использовать только в том случае, если каждые час выполняется прием менее 4 ГБ данных. Пакетная обработка лучше всего подходит, если ожидается высокая скорость обработки данных. Azure Data Explorer использует пакетную приемку по умолчанию. В следующей таблице приведены ожидаемые конечные задержки в худшем случае:
Конфигурация Azure Data Explorer | Ожидаемая сквозная задержка | Рекомендуемая скорость данных |
---|---|---|
Поглощение потоковых данных | <12 с (<3 с обычно) | <4 ГБ / ч |
Пакетная загрузка | Зависит (от 12 с до 15 м в зависимости от конфигурации) | >4 ГБ / ч |
Остальная часть этого раздела содержит сведения о включении каждого типа поглощения.
Пакетный ввод данных (по умолчанию)
Если не настроено в противном случае, Azure Data Explorer будет использовать пакетную приемку. Параметры по умолчанию могут привести к тому, что данные доступны для запроса только через 5–10 минут после выполнения обновления цифрового двойника. Политика приема может быть изменена так, чтобы пакетная обработка выполнялась как минимум каждые 10 секунд и как максимум каждые 15 минут. Чтобы изменить политику загрузки данных, в окне запросов Azure Data Explorer необходимо выполнить следующую команду:
.alter table <table_name> policy ingestionbatching @'{"MaximumBatchingTimeSpan":"00:00:10", "MaximumNumberOfItems": 500, "MaximumRawDataSizeMB": 1024}'
Убедитесь, что <table_name>
заменён на имя таблицы, настроенной для вас. Значение MaximumBatchingTimeSpan должно быть задано в качестве предпочтительного интервала пакетной обработки. Для принятия политики в силу может потребоваться 5–10 минут. Дополнительные сведения о пакетной загрузке можно прочитать по следующей ссылке: команда управления политиками Kusto IngestionBatching.
Поглощение потоковых данных
Включение приема потоковой передачи — это 2-шаговый процесс:
- Включите прием потоковой передачи для кластера. Это действие должно выполняться только один раз. (Предупреждение. Это влияет на объем хранилища, доступного для горячего кэша, и может привести к дополнительным ограничениям. Инструкции см. в разделе "Настройка приема потоковой передачи" в кластере Azure Data Explorer.
- Добавьте политику приема потоковой передачи для требуемой таблицы. Дополнительные сведения о включении потоковой передачи данных для вашего кластера см. в документации по Azure Data Explorer: команда управления политикой Kusto IngestionBatching.
Чтобы включить потоковую передачу данных для таблицы журнала данных Azure Digital Twins, в области запросов Azure Data Explorer необходимо выполнить следующую команду:
.alter table <table_name> policy streamingingestion enable
Убедитесь, что <table_name>
заменён на имя таблицы, настроенной для вас. Для принятия политики в силу может потребоваться 5–10 минут.
Визуализация историзированных свойств
Azure Digital Twins Explorer, средство разработчика для визуализации и взаимодействия с данными Azure Digital Twins, предлагает функцию обозревателя журналов данных для просмотра историй свойств с течением времени в диаграмме или таблице. Эта функция также доступна в 3D-сценной студии, иммерсивной трехмерной среде для предоставления Azure Digital Twins визуального контекста трехмерных ресурсов.
Дополнительные сведения о том, как использовать обозреватель истории данных, см. в разделе "Проверка и изучение историзированных свойств".
Замечание
При возникновении проблем, связанных с выбором свойства в визуальном обозревателе истории данных, это может означать, что в вашем экземпляре есть ошибка в какой-то модели. Например, неуникальные значения перечисления в атрибутах модели приведут к сбою этой функции визуализации. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.
Дальнейшие шаги
После историзации данных двойников в Azure Data Explorer вы можете использовать плагин Azure Digital Twins для выполнения запросов по данным. Дополнительные сведения о подключаемом модуле можно найти здесь: Запросы с помощью подключаемого модуля Azure Data Explorer.
Кроме того, подробно изучите журнал данных с инструкциями по созданию и примером сценария : создание подключения к журналу данных.