Поделиться через


Добавление поддержки типа данных 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 и сообщите об этом сообщении.

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