Добавление поддержки типа данных Long в среде "Аналитика временных рядов Azure" 2-го поколения
Примечание.
Служба "Аналитика временных рядов" будет прекращена 7 июля 2024 года. Рассмотрите возможность переноса существующих сред в альтернативные решения как можно скорее. Дополнительные сведения об устаревании и миграции см. в нашей документации.
Добавление поддержки типа данных Long влияет только на способы сохранения и индексации числовых данных в средах "Аналитика временных рядов Azure" 2-го поколения. Если у вас среда 1-го поколения, эти изменения можно игнорировать.
Начиная с 29 или 30 июня 2020 года в зависимости от вашего региона ваши данные будут индексироваться как данные типа Long и Double. Если есть вопросы или озабоченности, связанные с этим изменением, отправьте запрос в службу поддержки через портал Azure и упомяните об этом сообщении.
Если вас касается один из описанных ниже случаев, внесите рекомендуемые изменения.
- Случай 1: в настоящее время вы используете переменные модели временных рядов и отправляете только данные телеметрии целочисленных типов.
- Случай 2: в настоящее время вы используете переменные модели временных рядов и отправляете данные телеметрии целочисленных и нецелочисленных типов.
- Случай 3: вы используете категориальные переменные, чтобы сопоставлять целочисленные значения с категориями.
- Случай 4: для создания пользовательского интерфейсного приложения используется пакет SDK для JavaScript.
- Случай 5: вы приближаетесь к ограничению в 1000 имен свойств в "теплом" хранилище и отправляете данные целочисленных и нецелочисленных типов. Количество свойств можно просмотреть как метрику на портале Azure.
Если к вам применим любой из случаев, внесите изменения в свою модель. Обновите выражение временных рядов (TSX) в определении переменной с учетом рекомендованных изменений. Обновите оба варианта:
- Обозреватель службы "Аналитика временных рядов Azure"
- Любой пользовательский клиент, использующий наши API
Видимость данных, которые отправляются в среду "Аналитика временных рядов Azure" 2-го поколения, зависит от решения для Интернета вещей и ограничений. Если не удается определить тип данных (только целочисленные или целочисленные и нецелочисленные), есть несколько вариантов.
- Можно дождаться освобождения компонента. Затем изучить необработанные события в пользовательском интерфейсе обозревателя, чтобы понять, какие свойства сохраняются в двух отдельных столбцах.
- Рекомендуемые изменения можно предварительно внести для всех числовых тегов.
- Подмножество событий можно временно направить в хранилище, чтобы лучше понять и изучить свою схему.
Чтобы сохранить события, включите регистрацию событий для Центров событий Azure или направьте их из Центра Интернета вещей в хранилище больших двоичных объектов Azure.
Данные также можно наблюдать с помощью обозревателя концентратора событий или узла обработчика событий.
Если вы используете Центр Интернета вещей, перейдите к разделу Чтение сообщений, пересылаемых с устройства в облако, из встроенной конечной точки, чтобы узнать о том, как получить доступ к встроенной конечной точке.
Примечание.
Если не внести рекомендуемые изменения, можно столкнуться со сбоями в работе. Например, затронутые переменные аналитики временных рядов, доступ к которым осуществляется посредством API запросов или обозревателя службы "Аналитика временных рядов", возвращают значение null (т. е. не показывают никакие данные в обозревателе).
Рекомендованные изменения
Случай 1: использование переменных модели временных рядов и отправка только телеметрических данных целочисленных типов
Для случая 1 рекомендуются такие же изменения, как и для случая 2. Следуйте инструкциям, приведенным в разделе для случая 2.
Случай 2: использование переменных модели временных рядов и отправка телеметрических данных целочисленных и нецелочисленных типов
Если в настоящее время вы отправляете целочисленные данные телеметрии, эти данные разделяются на два столбца:
- propertyValue_double
- propertyValue_long
Целочисленные данные записываются в столбец propertyValue_long. Ранее принятые (и будущие принятые) числовые данные в столбце propertyValue_double не копируются.
Если требуется запросить данные в этих двух столбцах для свойства propertyValue, необходимо в своем TSX использовать скалярную функцию coalesce(). Данная функция принимает аргументы одного типа DataType и в списке аргументов возвращает первое значение, отличное от NULL. Концепции доступа к данным в среде "Аналитика временных рядов Azure" 2-го поколения.
Определение переменной в TSX — числовое
Определение предыдущей переменной:
Определение новой переменной:
В качестве пользовательского выражения временных рядов также можно использовать coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)).
Определение встроенных переменных с помощью API запросов TSX — числовое
Определение предыдущей переменной:
"PropertyValueVariable": {
"kind": "numeric",
"value": {
"tsx": "$event.propertyValue.Double"
},
"filter": null,
"aggregation": {
"tsx": "avg($value)"
}
}
Определение новой переменной:
"PropertyValueVariable ": {
"kind": "numeric",
"value": {
"tsx": "coalesce($event.propertyValue.Long, toLong($event.propertyValue.Double))"
},
"filter": null,
"aggregation": {
"tsx": "avg($value)"
}
}
В качестве пользовательского выражения временных рядов также можно использовать coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)).
Примечание.
Рекомендуется обновить эти переменные везде, где они могут использоваться. К таким местам относятся модель временных рядов, сохраненные запросы и запросы соединителя Power BI.
Случай 3: использование категориальных переменных для сопоставления целочисленных значений категориям
Если в настоящее время используются категориальные переменные, которые сопоставляют целочисленные значения с категориями, то, скорее всего, вы используете функцию toLong для преобразования данных типа Double в данные типа Long. Как и в случае 1 и 2, необходимо объединить столбцы данных типов Double и Long.
Определение переменной в обозревателе временных рядов — категориальное
Определение предыдущей переменной:
Определение новой переменной:
В качестве пользовательского выражения временных рядов также можно использовать coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)).
По-прежнему требуется, чтобы значения категориальных переменных имели целочисленный тип. Все аргументы в coalesce() должны иметь тип данных Long в пользовательском выражении временных рядов.
Определение встроенных переменных с помощью API запросов TSX — категориальные
Определение предыдущей переменной:
"PropertyValueVariable_Long": {
"kind": "categorical",
"value": {
"tsx": "tolong($event.propertyValue.Double)"
},
"categories": [
{
"label": "Good",
"values": [0, 1, 2 ]
},
{
"label": "Bad",
"values": [ 3, 4 ]
} ],
"defaultCategory": {
"label": "Unknown"
}
}
Определение новой переменной:
"PropertyValueVariable_Long": {
"kind": "categorical",
"value": {
"tsx": "coalesce($event.propertyValue.Long, tolong($event.propertyValue.Double))"
},
"categories": [
{
"label": "Good",
"values": [0, 1, 2 ]
},
{
"label": "Bad",
"values": [ 3, 4 ]
} ],
"defaultCategory": {
"label": "Unknown"
}
}
По-прежнему требуется, чтобы значения категориальных переменных имели целочисленный тип. Все аргументы в coalesce() должны иметь тип данных Long в пользовательском выражении временных рядов.
Примечание.
Рекомендуется обновить эти переменные везде, где они могут использоваться. К таким местам относятся модель временных рядов, сохраненные запросы и запросы соединителя Power BI.
Случай 4: для создания пользовательского интерфейсного приложения используется пакет SDK для JavaScript
Если вас касаются случаи 1–3, при создании пользовательских приложений необходимо обновить свои запросы, чтобы использовать функцию coalesce(), как было показано в предыдущих примерах.
Случай 5: приближение к ограничению на количество свойств в "теплом" хранилище (1000)
Если вы пользователь "теплого" хранилища с большим количеством свойств и считаете, что это изменение приведет к превышению в вашей среде ограничения на количество имен свойств в "теплом" хранилище (1000), отправьте запрос в службу поддержки через портал Azure и сообщите об этом сообщении.
Следующие шаги
- Просмотрите весь список поддерживаемых типов данных.