API запросов Аналитика временных рядов Azure 2-го поколения

Общие сведения

API запросов состоит из трех ИНТЕРФЕЙСов REST API, по одному API для событий, рядов и статистических выражений.

API-интерфейсы запросов возвращают схему событий и количество событий за указанный диапазон времени с помощью HTTP-запросов GET с необязательным разбиением на страницы. Сведения о рядах и агрегатных рядах также предоставляются с помощью операций GET с необязательным разбиением на страницы.

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

API также поддерживают различные настраиваемые операции, указанные в тексте HTTP-запроса JSON. Определения запросов можно использовать для распространенных операций.

Важно!

Сообщения об ошибках

Если выполнение запроса завершается сбоем, полезные данные ответа JSON будут содержать ответ об ошибке, соответствующий следующей структуре:

{
    "error" : {
        "code" : "...",
        "message" : "...",
        "innerError" : {  
            "code" : "...",
            "message" : "...",
        }
    }
}

innerError Здесь является необязательным. В дополнение к основным ошибкам, таким как неправильный запрос, возвращаются следующие ошибки:

Код состояния HTTP Код ошибки Пример сообщения об ошибке Возможные коды innerError
400 InvalidApiVersion Версия API "2016" не поддерживается. Поддерживаемые версии: 2016-12-12, 2018-11-01-preview. -
400 InvalidUrl Не удалось проанализировать URL-адрес запроса "/a/b". -
400 InvalidInput Данный запрос "aggregate" недопустим. Поддерживаемые запросы: getEvents, getSeries, aggregateSeries. InvalidQueryType
400 InvalidInput Выражение временных рядов $event.temperature.Double > 0 в projectedVariables.temperature.value не является допустимым выражением ссылки на свойство. InvalidPropertyReferenceExpression
400 InvalidInput Недопустимое выражение временных рядов $event.temperature.Double в projectedVariables.temperature.filter. Это может быть только выражение предиката, которое возвращает логическое значение. InvalidPredicateExpression
400 InvalidInput Недопустимое выражение временных рядов $event.temperature.Double в projectedVariables.temperature.aggregation. Он не содержит статистического выражения. InvalidAggregateExpression
400 InvalidInput Выражение временных рядов "$event.temperature.Double > 0" в projectedVariables.temperature.value не является допустимым выражением значения типа "numeric". InvalidValueExpression
400 InvalidInput Выражение временных рядов значения в projectedVariables.temperature.value не должно указываться или должно иметь значение NULL для переменной типа "aggregate". ValueExpressionShouldNotBeSpecified
400 InvalidInput Выражение временного ряда значения в projectedVariables.temperature.value должно быть указано для типа переменной numeric. ValueExpressionShouldBeSpecified
400 InvalidInput Тип переменной "aggregate" недопустим для выражения "min($value)" в "projectedVariables.temperature.aggregation". InvalidVariableKind
400 InvalidInput Интервал времени "00.00:01" в "interval" не является допустимым форматом интервала времени ISO8601. InvalidTimeSpanFormat
400 InvalidInput Экземпляр с timeSeriesId "["ABC123"]" не найден. InstanceNotFound
400 InvalidInput Экземпляр с именем timeSeriesName не найден. InstanceNotFound
400 InvalidInput Невозможно удалить экземпляр с timeSeriesId "["ABC321"]". С этим идентификатором временных рядов уже есть события приема. CannotDeleteInstance
400 InvalidInput Среда с идентификатором "5e19f688-83fb-4aee-8321-5c123ed016b7" не поддерживает API запросов временных рядов. TimeSeriesQueryNotSupported
400 InvalidInput Проецируемые переменные с именем temperature не найдены в определениях типов или встроенных переменных. ProjectedVariableNotFound
400 InvalidInput Не удалось выполнить upsert type с идентификатором "7e19g688-83fb-4aee-8321-5c123ed016b7" и именем "ABC123". Это имя уже используется типом с идентификатором "6e19g688-83fb-4aee-8321-5c123ed016b7". NameAlreadyExists
400 InvalidInput Не удалось выполнить обновление иерархии с идентификатором "4e19g688-83fb-4aee-8321-7c123ed016b7" и именем "XYZ123". Это имя уже используется иерархией с идентификатором "8e39g688-83fb-4aee-8321-5c123ed016b7". HierarchyNotDefined
400 InvalidInput Количество экземпляров превысило ограничение в 1 000 000. NumberOfInstancesExceededLimit
400 InvalidInput Количество типов превысило ограничение в 1000. NumberOfTypesExceededEdLimit
400 InvalidInput Количество иерархий превысило ограничение в 32. NumberOfHierarchiesExceededLimit
400 InvalidInput Размер сущности превышает максимально допустимый размер "16 384". ObjectSizeExceededLimit
400 InvalidInput Имя объекта "ABC123" с длиной "6" превышает максимально допустимое число символов "5". NameExceededLimit
408 RequestTimeout Время ожидания запроса истекло после 30 секунд. BatchRequestSizeExceededLimit
503 TooManyRequests Превышено число одновременных запросов "30" для среды "95880732-01b9-44ea-8d2d-4d764dfe1904". EnvRequestLimitExceededed

См. также раздел

  • Дополнительные сведения о регистрации приложений и модели программирования Azure Active Directory см. в статье Azure Active Directory для разработчиков.

  • Дополнительные сведения о параметрах запроса и проверки подлинности см. в статье Проверка подлинности и авторизация.

  • Ниже представлены средства, помогающие тестировать HTTP-запросы и ответы.

  • Fiddler. Этот бесплатный прокси-сервер веб-отладки может перехватывать запросы REST, чтобы можно было диагностировать HTTP-запросы и ответные сообщения.

  • JWT.io. Это средство можно использовать для быстрого дампа утверждений в маркере носителя, а затем проверки их содержимого.

  • Почтальо. Это бесплатное средство тестирования HTTP-запросов и ответов для отладки REST API.

  • Дополнительные сведения о Аналитика временных рядов Azure 2-го поколения см. в документации 2-го поколения.