Query - Execute

Выполняет запрос временных рядов на страницах результатов : Получение событий, Получение ряда или Статистический ряд.

POST https://{environmentFqdn}/timeseries/query?api-version=2020-07-31
POST https://{environmentFqdn}/timeseries/query?api-version=2020-07-31&storeType={storeType}

Параметры URI

Имя В Обязательно Тип Описание
environmentFqdn
path True

string

Полное доменное имя среды, например 10000000-0000-0000-0000-100000000109.env.timeseries.azure.com. Это доменное имя можно получить из ответа API получения сред, портал Azure или azure Resource Manager.

api-version
query True

string

Версия API для использования с клиентским запросом. В настоящее время поддерживается версия 2020-07-31.

storeType
query

string

Для сред с включенным теплым хранилищем запрос можно выполнить в WarmStore или ColdStore. Этот параметр в запросе определяет, в каком хранилище должен выполняться запрос. Если этот параметр не определен, запрос будет выполнен в холодном хранилище.

Заголовок запроса

Имя Обязательно Тип Описание
x-ms-continuation

string

Маркер продолжения с предыдущей страницы результатов для получения следующей страницы результатов в вызовах, поддерживающих разбиение на страницы. Чтобы получить результаты первой страницы, укажите маркер продолжения NULL в качестве значения параметра. Возвращенный маркер продолжения имеет значение NULL, если все результаты были возвращены, а следующая страница результатов отсутствует.

x-ms-client-request-id

string

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

x-ms-client-session-id

string

Необязательный идентификатор сеанса клиента. Служба записывает это значение. Позволяет службе отслеживать группы связанных операций в службах и позволяет клиенту обращаться в службу поддержки по поводу определенной группы запросов.

Текст запроса

Имя Тип Описание
aggregateSeries

AggregateSeries

Запрос статистических рядов. Позволяет вычислять агрегированные временные ряды на основе событий для заданного идентификатора временных рядов и диапазона поиска.

getEvents

GetEvents

Запрос на получение событий. Позволяет получать необработанные события для заданного идентификатора временных рядов и диапазона поиска.

getSeries

GetSeries

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

Ответы

Имя Тип Описание
200 OK

QueryResultPage

Успешный запрос.

Заголовки

x-ms-request-id: string

Other Status Codes

TsiError

Непредвиденная ошибка.

Заголовки

x-ms-request-id: string

Безопасность

azure_auth

Поток OAuth2 в Azure Active Directory

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

ColdStoreQueryAggregateSeriesPage1
ColdStoreQueryAggregateSeriesPage2
ColdStoreQueryGetEventsPage1
ColdStoreQueryGetEventsPage2
ColdStoreQueryGetEventsPage3
ColdStoreQueryGetEventsPage4
ColdStoreQueryGetSeriesPage1
ColdStoreQueryGetSeriesPage2
ColdStoreQueryGetSeriesPage3
QueryAggregateSeriesPage1
QueryAggregateSeriesPage2
QueryAggregateSeriesWithCategoricalInterpolatedVariable
QueryAggregateSeriesWithCategoricalVariable
QueryAggregateSeriesWithSampleInterpolation
QueryGetEventsPage1
QueryGetEventsPage2
QueryGetEventsPage3
QueryGetEventsPage4
QueryGetEventsWithTakePage1
QueryGetEventsWithTakePage2
QueryGetSeriesPage1
QueryGetSeriesPage2
QueryGetSeriesPage3
QueryGetSeriesWithTakePage1
QueryGetSeriesWithTakePage2
WarmStoreQueryAggregateSeriesPage
WarmStoreQueryGetEventsPage1
WarmStoreQueryGetEventsPage2
WarmStoreQueryGetEventsPage3
WarmStoreQueryGetEventsPage4
WarmStoreQueryGetSeriesPage1
WarmStoreQueryGetSeriesPage2
WarmStoreQueryGetSeriesPage3

ColdStoreQueryAggregateSeriesPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "Count": {
        "kind": "aggregate",
        "filter": null,
        "aggregation": {
          "tsx": "count()"
        }
      },
      "MinTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "min($value)"
        }
      },
      "MaxTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "max($value)"
        }
      }
    },
    "projectedVariables": [
      "Count",
      "MinTemperature",
      "MaxTemperature"
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

ColdStoreQueryAggregateSeriesPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "Count": {
        "kind": "aggregate",
        "filter": null,
        "aggregation": {
          "tsx": "count()"
        }
      },
      "MinTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "min($value)"
        }
      },
      "MaxTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "max($value)"
        }
      }
    },
    "projectedVariables": [
      "Count",
      "MinTemperature",
      "MaxTemperature"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:00Z",
    "2016-08-01T00:01:00Z",
    "2016-08-01T00:02:00Z",
    "2016-08-01T00:03:00Z",
    "2016-08-01T00:04:00Z",
    "2016-08-01T00:05:00Z",
    "2016-08-01T00:06:00Z",
    "2016-08-01T00:07:00Z",
    "2016-08-01T00:08:00Z",
    "2016-08-01T00:09:00Z",
    "2016-08-01T00:10:00Z"
  ],
  "properties": [
    {
      "name": "Count",
      "type": "Long",
      "values": [
        50,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        null
      ]
    },
    {
      "name": "AverageTemperature",
      "type": "Double",
      "values": [
        71.25,
        85,
        82.5,
        80,
        89.16666666666667,
        75,
        90,
        75.83333333333333,
        85,
        82.5,
        null
      ]
    },
    {
      "name": "MinTemperature",
      "type": "Double",
      "values": [
        65.125,
        77.625,
        65.125,
        72.625,
        65.125,
        67.625,
        82.625,
        65.125,
        77.625,
        65.125,
        null
      ]
    },
    {
      "name": "MaxTemperature",
      "type": "Double",
      "values": [
        77.375,
        92.375,
        99.875,
        87.375,
        99.875,
        82.375,
        97.375,
        99.875,
        92.375,
        99.875,
        null
      ]
    }
  ],
  "progress": 100
}

ColdStoreQueryGetEventsPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

ColdStoreQueryGetEventsPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

ColdStoreQueryGetEventsPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        67.575
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0="
}

ColdStoreQueryGetEventsPage4

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [],
  "properties": [],
  "progress": 100
}

ColdStoreQueryGetSeriesPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

ColdStoreQueryGetSeriesPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z",
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375,
        67.625
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

ColdStoreQueryGetSeriesPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=coldstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:21Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        67.825
      ]
    }
  ],
  "progress": 100
}

QueryAggregateSeriesPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "Count": {
        "kind": "aggregate",
        "filter": null,
        "aggregation": {
          "tsx": "count()"
        }
      },
      "MinTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "min($value)"
        }
      },
      "MaxTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "max($value)"
        }
      }
    },
    "projectedVariables": [
      "Count",
      "MinTemperature",
      "MaxTemperature"
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

QueryAggregateSeriesPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "Count": {
        "kind": "aggregate",
        "filter": null,
        "aggregation": {
          "tsx": "count()"
        }
      },
      "MinTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "min($value)"
        }
      },
      "MaxTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "max($value)"
        }
      }
    },
    "projectedVariables": [
      "Count",
      "MinTemperature",
      "MaxTemperature"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:00Z",
    "2016-08-01T00:01:00Z",
    "2016-08-01T00:02:00Z",
    "2016-08-01T00:03:00Z",
    "2016-08-01T00:04:00Z",
    "2016-08-01T00:05:00Z",
    "2016-08-01T00:06:00Z",
    "2016-08-01T00:07:00Z",
    "2016-08-01T00:08:00Z",
    "2016-08-01T00:09:00Z",
    "2016-08-01T00:10:00Z"
  ],
  "properties": [
    {
      "name": "Count",
      "type": "Long",
      "values": [
        50,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        null
      ]
    },
    {
      "name": "AverageTemperature",
      "type": "Double",
      "values": [
        71.25,
        85,
        82.5,
        80,
        89.16666666666667,
        75,
        90,
        75.83333333333333,
        85,
        82.5,
        null
      ]
    },
    {
      "name": "MinTemperature",
      "type": "Double",
      "values": [
        65.125,
        77.625,
        65.125,
        72.625,
        65.125,
        67.625,
        82.625,
        65.125,
        77.625,
        65.125,
        null
      ]
    },
    {
      "name": "MaxTemperature",
      "type": "Double",
      "values": [
        77.375,
        92.375,
        99.875,
        87.375,
        99.875,
        82.375,
        97.375,
        99.875,
        92.375,
        99.875,
        null
      ]
    }
  ],
  "progress": 100
}

QueryAggregateSeriesWithCategoricalInterpolatedVariable

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "aggregateSeries": {
    "searchSpan": {
      "from": "2019-10-10T23:41:04.021Z",
      "to": "2019-10-10T23:42:22.846Z"
    },
    "timeSeriesId": [
      "Sensor_58"
    ],
    "interval": "PT2S",
    "inlineVariables": {
      "Status_String": {
        "kind": "categorical",
        "value": {
          "tsx": "$event.[Status].String"
        },
        "interpolation": {
          "kind": "Step",
          "boundary": {
            "span": "PT5S"
          }
        },
        "categories": [
          {
            "label": "Good",
            "values": [
              "Good",
              "Very Good",
              "Excellent"
            ]
          },
          {
            "label": "Bad",
            "values": [
              "Bad",
              "OK"
            ]
          },
          {
            "label": "Other",
            "values": [
              "Other"
            ]
          }
        ],
        "defaultCategory": {
          "label": "Unknown"
        }
      },
      "Status_Long": {
        "kind": "categorical",
        "value": {
          "tsx": "tolong($event.[Status].Double)"
        },
        "interpolation": {
          "kind": "Step",
          "boundary": {
            "span": "PT5S"
          }
        },
        "categories": [
          {
            "label": "Good",
            "values": [
              0,
              1,
              2
            ]
          },
          {
            "label": "Bad",
            "values": [
              3,
              4
            ]
          },
          {
            "label": "Other",
            "values": [
              5
            ]
          }
        ],
        "defaultCategory": {
          "label": "Unknown"
        }
      }
    },
    "projectedVariables": [
      "Status_String",
      "Status_Long"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2019-10-10T23:41:04Z",
    "2019-10-10T23:41:06Z",
    "2019-10-10T23:41:08Z",
    "2019-10-10T23:41:10Z",
    "2019-10-10T23:41:12Z",
    "2019-10-10T23:41:14Z",
    "2019-10-10T23:41:16Z",
    "2019-10-10T23:41:18Z",
    "2019-10-10T23:41:20Z",
    "2019-10-10T23:41:22Z"
  ],
  "properties": [
    {
      "values": [
        0.203,
        0.141,
        0.268,
        0.398,
        0.402,
        0.047,
        0.1245,
        0.75,
        0.206,
        0.2635
      ],
      "name": "Status_String[Good]",
      "type": "Double"
    },
    {
      "values": [
        0.266,
        0.1955,
        0.242,
        0.148,
        0.25,
        0.055,
        0.6295,
        0.109,
        0.41,
        0.2125
      ],
      "name": "Status_String[Bad]",
      "type": "Double"
    },
    {
      "values": [
        0.5205,
        0.6635,
        0.49,
        0.454,
        0.348,
        0.898,
        0.246,
        0.141,
        0.384,
        0.524
      ],
      "name": "Status_String[Other]",
      "type": "Double"
    },
    {
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "name": "Status_String[Unknown]",
      "type": "Double"
    },
    {
      "values": [
        0.203,
        0.141,
        0.268,
        0.398,
        0.402,
        0.047,
        0.1245,
        0.75,
        0.206,
        0.2635
      ],
      "name": "Status_Long[Good]",
      "type": "Double"
    },
    {
      "values": [
        0.266,
        0.1955,
        0.242,
        0.148,
        0.25,
        0.055,
        0.6295,
        0.109,
        0.41,
        0.2125
      ],
      "name": "Status_Long[Bad]",
      "type": "Double"
    },
    {
      "values": [
        0.5205,
        0.6635,
        0.49,
        0.454,
        0.348,
        0.898,
        0.246,
        0.141,
        0.384,
        0.524
      ],
      "name": "Status_Long[Other]",
      "type": "Double"
    },
    {
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "name": "Status_Long[Unknown]",
      "type": "Double"
    }
  ],
  "progress": 100
}

QueryAggregateSeriesWithCategoricalVariable

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "aggregateSeries": {
    "searchSpan": {
      "from": "2019-10-10T23:42:00.000Z",
      "to": "2019-10-10T23:42:20.000Z"
    },
    "timeSeriesId": [
      "Sensor_58"
    ],
    "interval": "PT2S",
    "inlineVariables": {
      "Status_String": {
        "kind": "categorical",
        "value": {
          "tsx": "$event.[Status].String"
        },
        "categories": [
          {
            "label": "Good",
            "values": [
              "Good",
              "Very Good",
              "Excellent"
            ]
          },
          {
            "label": "Bad",
            "values": [
              "Bad",
              "OK"
            ]
          },
          {
            "label": "Other",
            "values": [
              "Other"
            ]
          }
        ],
        "defaultCategory": {
          "label": "Unknown"
        }
      },
      "Status_Long": {
        "kind": "categorical",
        "value": {
          "tsx": "tolong($event.[Status].Double)"
        },
        "categories": [
          {
            "label": "Good",
            "values": [
              0,
              1,
              2
            ]
          },
          {
            "label": "Bad",
            "values": [
              3,
              4
            ]
          },
          {
            "label": "Other",
            "values": [
              5
            ]
          }
        ],
        "defaultCategory": {
          "label": "Unknown"
        }
      }
    },
    "projectedVariables": [
      "Status_String",
      "Status_Long"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2019-10-10T23:42:00Z",
    "2019-10-10T23:42:02Z",
    "2019-10-10T23:42:04Z",
    "2019-10-10T23:42:06Z",
    "2019-10-10T23:42:08Z",
    "2019-10-10T23:42:10Z",
    "2019-10-10T23:42:12Z",
    "2019-10-10T23:42:14Z",
    "2019-10-10T23:42:16Z",
    "2019-10-10T23:42:18Z"
  ],
  "properties": [
    {
      "values": [
        5,
        8,
        4,
        6,
        9,
        8,
        3,
        6,
        5,
        8
      ],
      "name": "Status_String[Good]",
      "type": "Long"
    },
    {
      "values": [
        4,
        3,
        3,
        5,
        5,
        3,
        9,
        7,
        7,
        7
      ],
      "name": "Status_String[Bad]",
      "type": "Long"
    },
    {
      "values": [
        11,
        9,
        13,
        9,
        6,
        9,
        8,
        7,
        8,
        5
      ],
      "name": "Status_String[Other]",
      "type": "Long"
    },
    {
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "name": "Status_String[Unknown]",
      "type": "Long"
    },
    {
      "values": [
        5,
        8,
        4,
        6,
        9,
        8,
        3,
        6,
        5,
        8
      ],
      "name": "Status_Long[Good]",
      "type": "Long"
    },
    {
      "values": [
        4,
        3,
        3,
        5,
        5,
        3,
        9,
        7,
        7,
        7
      ],
      "name": "Status_Long[Bad]",
      "type": "Long"
    },
    {
      "values": [
        11,
        9,
        13,
        9,
        6,
        9,
        8,
        7,
        8,
        5
      ],
      "name": "Status_Long[Other]",
      "type": "Long"
    },
    {
      "values": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "name": "Status_Long[Unknown]",
      "type": "Long"
    }
  ],
  "progress": 100
}

QueryAggregateSeriesWithSampleInterpolation

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "LinearSampleInterpolation": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "interpolation": {
          "kind": "Linear",
          "boundary": {
            "span": "P1D"
          }
        },
        "aggregation": {
          "tsx": "left($value)"
        }
      },
      "StepSampleInterpolation": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "interpolation": {
          "kind": "Step",
          "boundary": {
            "span": "P1D"
          }
        },
        "aggregation": {
          "tsx": "left($value)"
        }
      }
    },
    "projectedVariables": [
      "LinearSampleInterpolation",
      "StepSampleInterpolation"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:00Z",
    "2016-08-01T00:01:00Z",
    "2016-08-01T00:02:00Z",
    "2016-08-01T00:03:00Z",
    "2016-08-01T00:04:00Z",
    "2016-08-01T00:05:00Z",
    "2016-08-01T00:06:00Z",
    "2016-08-01T00:07:00Z",
    "2016-08-01T00:08:00Z",
    "2016-08-01T00:09:00Z",
    "2016-08-01T00:10:00Z"
  ],
  "properties": [
    {
      "name": "LinearSampleInterpolation",
      "type": "Double",
      "values": [
        50,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        62
      ]
    },
    {
      "name": "StepSampleInterpolation",
      "type": "Double",
      "values": [
        71.25,
        85,
        82.5,
        80,
        89.16666666666667,
        75,
        90,
        75.83333333333333,
        85,
        82.5,
        84
      ]
    }
  ],
  "progress": 100
}

QueryGetEventsPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

QueryGetEventsPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

QueryGetEventsPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        67.575
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0="
}

QueryGetEventsPage4

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [],
  "properties": [],
  "progress": 100
}

QueryGetEventsWithTakePage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ],
    "take": 10
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

QueryGetEventsWithTakePage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ],
    "take": 10
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375
      ]
    }
  ],
  "progress": 100
}

QueryGetSeriesPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

QueryGetSeriesPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z",
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375,
        67.625
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

QueryGetSeriesPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:21Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        67.825
      ]
    }
  ],
  "progress": 100
}

QueryGetSeriesWithTakePage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ],
    "take": 10
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

QueryGetSeriesWithTakePage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ],
    "take": 10
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z",
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375,
        67.625
      ]
    }
  ],
  "progress": 100
}

WarmStoreQueryAggregateSeriesPage

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "aggregateSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "interval": "PT1M",
    "inlineVariables": {
      "Count": {
        "kind": "aggregate",
        "filter": null,
        "aggregation": {
          "tsx": "count()"
        }
      },
      "MinTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "min($value)"
        }
      },
      "MaxTemperature": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "max($value)"
        }
      }
    },
    "projectedVariables": [
      "Count",
      "MinTemperature",
      "MaxTemperature"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:00Z",
    "2016-08-01T00:01:00Z",
    "2016-08-01T00:02:00Z",
    "2016-08-01T00:03:00Z",
    "2016-08-01T00:04:00Z",
    "2016-08-01T00:05:00Z",
    "2016-08-01T00:06:00Z",
    "2016-08-01T00:07:00Z",
    "2016-08-01T00:08:00Z",
    "2016-08-01T00:09:00Z",
    "2016-08-01T00:10:00Z"
  ],
  "properties": [
    {
      "name": "Count",
      "type": "Long",
      "values": [
        50,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        60,
        null
      ]
    },
    {
      "name": "AverageTemperature",
      "type": "Double",
      "values": [
        71.25,
        85,
        82.5,
        80,
        89.16666666666667,
        75,
        90,
        75.83333333333333,
        85,
        82.5,
        null
      ]
    },
    {
      "name": "MinTemperature",
      "type": "Double",
      "values": [
        65.125,
        77.625,
        65.125,
        72.625,
        65.125,
        67.625,
        82.625,
        65.125,
        77.625,
        65.125,
        null
      ]
    },
    {
      "name": "MaxTemperature",
      "type": "Double",
      "values": [
        77.375,
        92.375,
        99.875,
        87.375,
        99.875,
        82.375,
        97.375,
        99.875,
        92.375,
        99.875,
        null
      ]
    }
  ],
  "progress": 100
}

WarmStoreQueryGetEventsPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

WarmStoreQueryGetEventsPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium",
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

WarmStoreQueryGetEventsPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "Building",
      "type": "String",
      "values": [
        "Millenium"
      ]
    },
    {
      "name": "Temperature",
      "type": "Double",
      "values": [
        67.575
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0="
}

WarmStoreQueryGetEventsPage4

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getEvents": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": {
      "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
    },
    "projectedProperties": [
      {
        "name": "Building",
        "type": "String"
      },
      {
        "name": "Temperature",
        "type": "Double"
      }
    ]
  }
}

Пример ответа

{
  "timestamps": [],
  "properties": [],
  "progress": 100
}

WarmStoreQueryGetSeriesPage1

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
}

WarmStoreQueryGetSeriesPage2

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:10Z",
    "2016-08-01T00:00:11Z",
    "2016-08-01T00:00:12Z",
    "2016-08-01T00:00:13Z",
    "2016-08-01T00:00:14Z",
    "2016-08-01T00:00:15Z",
    "2016-08-01T00:00:16Z",
    "2016-08-01T00:00:17Z",
    "2016-08-01T00:00:18Z",
    "2016-08-01T00:00:19Z",
    "2016-08-01T00:00:20Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        65.125,
        65.375,
        65.625,
        65.875,
        66.125,
        66.375,
        66.625,
        66.875,
        67.125,
        67.375,
        67.625
      ]
    }
  ],
  "progress": 50,
  "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
}

WarmStoreQueryGetSeriesPage3

Образец запроса

POST https://10000000-0000-0000-0000-100000000109.env.timeseries.azure.com/timeseries/query?api-version=2020-07-31&storeType=warmstore

{
  "getSeries": {
    "timeSeriesId": [
      "006dfc2d-0324-4937-998c-d16f3b4f1952",
      "T1"
    ],
    "searchSpan": {
      "from": "2016-08-01T00:00:00Z",
      "to": "2016-08-01T00:16:50Z"
    },
    "filter": null,
    "inlineVariables": {
      "temperatures": {
        "kind": "numeric",
        "value": {
          "tsx": "$event.Temperature"
        },
        "filter": null,
        "aggregation": {
          "tsx": "avg($value)"
        }
      }
    },
    "projectedVariables": [
      "temperatures"
    ]
  }
}

Пример ответа

{
  "timestamps": [
    "2016-08-01T00:00:21Z"
  ],
  "properties": [
    {
      "name": "temperatures",
      "type": "Double",
      "values": [
        67.825
      ]
    }
  ],
  "progress": 100
}

Определения

Имя Описание
AggregateSeries

Запрос статистических рядов. Позволяет вычислять агрегированные временные ряды на основе событий для заданного идентификатора временных рядов и диапазона поиска.

AggregateVariable

Агрегатная переменная представляет любое вычисление агрегирования. Агрегатные переменные не поддерживают интерполяцию.

Boundary

Диапазон времени слева и справа от диапазона поиска, который будет использоваться для интерполяции. Это полезно в сценариях, когда точки данных отсутствуют близко к началу или концу диапазона поиска входных данных. Может быть равен null.

CategoricalVariable

Категориальная переменная представляет сигнал, который необходимо проанализировать на основе количества или длительности появления ограниченного набора определенных значений.

DateTimeRange

Диапазон времени. Не может иметь значение NULL или отрицательное значение.

EventProperty

Свойство события, которое либо хранится, либо вычисляется. Свойства идентифицируются как по имени, так и по типу. Разные события могут иметь свойства с одинаковыми именами, но разными типами.

GetEvents

Запрос на получение событий. Позволяет получать необработанные события для заданного идентификатора временных рядов и диапазона поиска.

GetSeries

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

Interpolation

Операция интерполяции, выполняемая с необработанными точками данных. В настоящее время разрешена только выборка интерполированных временных рядов. Разрешенная агрегатная функция, например left($value). Может иметь значение NULL, если интерполяция не требуется применять.

InterpolationKind

Тип метода интерполяции: "Linear" или "Step".

NumericVariable

Числовая переменная представляет один непрерывный числовый сигнал, который можно восстановить с помощью интерполяции.

PropertyTypes

Тип свойства.

PropertyValues

Значения одного свойства, соответствующего меткам времени. Может содержать значения NULL. Тип значений соответствует типу свойства.

QueryRequest

Запрос на выполнение запроса временных рядов по событиям. Должен быть задан только один из "getEvents", "getSeries" или "aggregateSeries".

QueryResultPage

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

TimeSeriesAggregateCategory

Категория, используемая в категориальных переменных. Категория определяется меткой и значениями, которым назначена эта метка.

TimeSeriesDefaultCategory

Представляет категорию по умолчанию.

TsiError

Сведения об ошибке API.

TsiErrorBody

Определенная ошибка API с кодом ошибки и сообщением.

TsiErrorDetails

Дополнительные сведения об ошибке.

Tsx

Выражение временных рядов (TSX), записанное в виде одной строки. Примеры: "$event. Status.String='Good'", "avg($event. Температура)". См. документацию по написанию выражений временных рядов.

AggregateSeries

Запрос статистических рядов. Позволяет вычислять агрегированные временные ряды на основе событий для заданного идентификатора временных рядов и диапазона поиска.

Имя Тип Описание
filter

Tsx

Фильтр верхнего уровня по событиям, ограничивающий количество событий, рассматриваемых для вычисления. Этот фильтр имеет значение AND'ed с фильтром в каждой переменной. Пример: "$event. Status.String='Good'". Необязательный элемент.

inlineVariables

object

Это позволяет пользователю дополнительно определять встроенные переменные отдельно от тех, которые уже определены в модели. Если имена встроенных переменных имеют то же имя, что и у модели, приоритет имеет определение встроенной переменной. Может быть равен null.

interval

string

Размер интервала указывается в формате длительности ISO-8601. Все интервалы имеют одинаковый размер. Один месяц всегда преобразуется в 30 дней, а один год — 365 дней. Примеры: 1 минута — PT1M, 1 миллисекунда — PT0.001S. Дополнительные сведения см. в разделе https://www.w3.org/TR/xmlschema-2/#duration.

projectedVariables

string[]

Это позволяет пользователю при необходимости выбрать переменные, которые необходимо проецировать. Если значение равно NULL или не задано, возвращаются все переменные из inlineVariables и model. Может быть равен null.

searchSpan

DateTimeRange

Диапазон времени, в течение которого выполняется запрос. Не может иметь значение NULL.

timeSeriesId

TimeSeriesId[]

Одно значение идентификатора временных рядов, которое однозначно идентифицирует один экземпляр временных рядов (например, устройство). Обратите внимание, что один идентификатор временных рядов может быть составным, если во время создания среды в качестве идентификатора временных рядов указано несколько свойств. Положение и тип значений должны соответствовать свойствам идентификатора временных рядов, заданным в среде и возвращаемым API получения параметров модели. Не может иметь значение NULL.

AggregateVariable

Агрегатная переменная представляет любое вычисление агрегирования. Агрегатные переменные не поддерживают интерполяцию.

Имя Тип Описание
aggregation

Tsx

Выражение временного ряда агрегирования, когда тип имеет значение "aggregate", используется для представления агрегирования, которое необходимо выполнить непосредственно с помощью свойств событий, таких как "$event. Температура". Например, агрегирование для вычисления диапазона изменений температуры можно записать как "max($event. Temperature)-min($event. Температура)".

filter

Tsx

Отфильтруйте события, ограничивающие количество событий, рассматриваемых для вычисления. Пример: "$event. Status.String='Good'". Необязательный элемент.

kind string:

aggregate

Допустимые значения kind: "числовые" или "агрегированные". В то время как "числовой" позволяет указать значение восстановленного сигнала и выражение для их агрегирования, тип "агрегирование" позволяет выполнять прямую статистическую обработку по свойствам события без указания значения.

Boundary

Диапазон времени слева и справа от диапазона поиска, который будет использоваться для интерполяции. Это полезно в сценариях, когда точки данных отсутствуют близко к началу или концу диапазона поиска входных данных. Может быть равен null.

Имя Тип Описание
span

string

CategoricalVariable

Категориальная переменная представляет сигнал, который необходимо проанализировать на основе количества или длительности появления ограниченного набора определенных значений.

Имя Тип Описание
categories

TimeSeriesAggregateCategory[]

Категория, используемая в категориальных переменных. Категория определяется меткой и значениями, которым назначена эта метка.

defaultCategory

TimeSeriesDefaultCategory

Представляет категорию по умолчанию.

filter

Tsx

Отфильтруйте события, ограничивающие количество событий, рассматриваемых для вычисления. Пример: "$event. Status.String='Good'". Необязательный элемент.

interpolation

Interpolation

Категориальная переменная поддерживает только интерполяцию шага.

kind string:

categorical

Допустимые значения kind: "числовые" или "агрегированные". В то время как "числовой" позволяет указать значение восстановленного сигнала и выражение для их агрегирования, тип "агрегирование" позволяет выполнять прямую статистическую обработку по свойствам события без указания значения.

value

Tsx

Выражение временных рядов значений используется для представления значения сигнала, который будет классифицирован. Для категориальных переменных он может иметь только тип String или Long.

DateTimeRange

Диапазон времени. Не может иметь значение NULL или отрицательное значение.

Имя Тип Описание
from

string

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

to

string

Метка времени окончания диапазона времени. Конечная метка времени является монопольной при использовании в запросах временных рядов. События, соответствующие этой метке времени, исключаются. Обратите внимание, что метка времени окончания является инклюзивной, если она возвращается параметром Get Availability (это означает, что существует событие с точной меткой времени "to").

EventProperty

Свойство события, которое либо хранится, либо вычисляется. Свойства идентифицируются как по имени, так и по типу. Разные события могут иметь свойства с одинаковыми именами, но разными типами.

Имя Тип Описание
name

string

Имя свойства.

type

PropertyTypes

Тип свойства.

GetEvents

Запрос на получение событий. Позволяет получать необработанные события для заданного идентификатора временных рядов и диапазона поиска.

Имя Тип Описание
filter

Tsx

Необязательный фильтр верхнего уровня для запроса, который будет применяться ко всем переменным в запросе. Пример: "$event. Status.String='Good'". Может быть равен null.

projectedProperties

EventProperty[]

Проецируемые свойства — это массив свойств, которые требуется проецировать. Эти свойства должны отображаться в событиях; в противном случае они не возвращаются.

searchSpan

DateTimeRange

Диапазон времени, в течение которого выполняется запрос. Не может иметь значение NULL.

take

integer

Максимальное количество значений свойств во всем наборе ответов, а не максимальное количество значений свойств на странице. Значение по умолчанию — 10 000, если не задано. Максимальное значение take может составлять 250 000.

timeSeriesId

TimeSeriesId[]

Одно значение идентификатора временных рядов, которое однозначно идентифицирует один экземпляр временных рядов (например, устройство). Обратите внимание, что один идентификатор временных рядов может быть составным, если во время создания среды в качестве идентификатора временных рядов указано несколько свойств. Положение и тип значений должны соответствовать свойствам идентификатора временных рядов, заданным в среде и возвращаемым API получения параметров модели. Не может иметь значение NULL.

GetSeries

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

Имя Тип Описание
filter

Tsx

Фильтр верхнего уровня по событиям, ограничивающий количество событий, рассматриваемых для вычисления. Этот фильтр имеет значение AND'ed с фильтром в каждой переменной. Пример: "$event. Status.String='Good'". Необязательный элемент.

inlineVariables

object

Необязательные встроенные переменные, кроме тех, которые уже определены в типе временных рядов в модели. Если имя встроенной переменной совпадает с именем в модели, приоритет имеет определение встроенной переменной. Может быть равен null.

projectedVariables

string[]

Выбранные переменные, которые необходимо проецировать в результате запроса. Если значение равно NULL или не задано, возвращаются все переменные из inlineVariables и типа временных рядов в модели. Может быть равен null.

searchSpan

DateTimeRange

Диапазон времени, в течение которого выполняется запрос. Не может иметь значение NULL.

take

integer

Максимальное количество значений свойств во всем наборе ответов, а не максимальное количество значений свойств на странице. Значение по умолчанию — 10 000, если не задано. Максимальное значение take может составлять 250 000.

timeSeriesId

TimeSeriesId[]

Одно значение идентификатора временных рядов, которое однозначно идентифицирует один экземпляр временных рядов (например, устройство). Обратите внимание, что один идентификатор временных рядов может быть составным, если во время создания среды в качестве идентификатора временных рядов указано несколько свойств. Положение и тип значений должны соответствовать свойствам идентификатора временных рядов, заданным в среде и возвращаемым API получения параметров модели. Не может иметь значение NULL.

Interpolation

Операция интерполяции, выполняемая с необработанными точками данных. В настоящее время разрешена только выборка интерполированных временных рядов. Разрешенная агрегатная функция, например left($value). Может иметь значение NULL, если интерполяция не требуется применять.

Имя Тип Описание
boundary

Boundary

Диапазон времени слева и справа от диапазона поиска, который будет использоваться для интерполяции. Это полезно в сценариях, когда точки данных отсутствуют близко к началу или концу диапазона поиска входных данных. Может быть равен null.

kind

InterpolationKind

Тип метода интерполяции: "Linear" или "Step".

InterpolationKind

Тип метода интерполяции: "Linear" или "Step".

Имя Тип Описание
Linear

string

Step

string

NumericVariable

Числовая переменная представляет один непрерывный числовый сигнал, который можно восстановить с помощью интерполяции.

Имя Тип Описание
aggregation

Tsx

Выражение агрегирования временных рядов, если тип имеет значение "числовой", используется для представления агрегирования, которое необходимо выполнить в выражении $value. Для этого необходимо указать $value и использовать только $value в агрегатных функциях. Например, агрегирование для вычисления минимума $value записывается как "min($value)".

filter

Tsx

Отфильтруйте события, ограничивающие количество событий, рассматриваемых для вычисления. Пример: "$event. Status.String='Good'". Необязательный элемент.

interpolation

Interpolation

Операция интерполяции, выполняемая с необработанными точками данных. В настоящее время разрешена только выборка интерполированных временных рядов. Разрешенная агрегатная функция, например left($value). Может иметь значение NULL, если интерполяция не требуется применять.

kind string:

numeric

Допустимые значения kind: "числовые" или "агрегированные". В то время как "числовой" позволяет указать значение восстановленного сигнала и выражение для их агрегирования, тип "агрегирование" позволяет выполнять прямую статистическую обработку по свойствам события без указания значения.

value

Tsx

Выражение временного ряда значения используется для представления значения сигнала, который будет агрегирован или интерполирован. Например, значения температуры события представлены следующим образом: "$event. Temperature.Double".

PropertyTypes

Тип свойства.

Имя Тип Описание
Bool

string

DateTime

string

Double

string

Long

string

String

string

TimeSpan

string

PropertyValues

Значения одного свойства, соответствующего меткам времени. Может содержать значения NULL. Тип значений соответствует типу свойства.

Имя Тип Описание
name

string

Имя свойства.

type

PropertyTypes

Тип свойства.

values

Values[]

Значения одного свойства, соответствующего меткам времени. Может содержать значения NULL. Тип значений соответствует типу свойства.

QueryRequest

Запрос на выполнение запроса временных рядов по событиям. Должен быть задан только один из "getEvents", "getSeries" или "aggregateSeries".

Имя Тип Описание
aggregateSeries

AggregateSeries

Запрос статистических рядов. Позволяет вычислять агрегированные временные ряды на основе событий для заданного идентификатора временных рядов и диапазона поиска.

getEvents

GetEvents

Запрос на получение событий. Позволяет получать необработанные события для заданного идентификатора временных рядов и диапазона поиска.

getSeries

GetSeries

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

QueryResultPage

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

Имя Тип Описание
continuationToken

string

Если он возвращается, это означает, что текущие результаты представляют частичный результат. Маркер продолжения позволяет получить следующую страницу результатов. Чтобы получить следующую страницу результатов запроса, отправьте тот же запрос с параметром токена продолжения в http-заголовке "x-ms-continuation".

progress

number

Приблизительный ход выполнения запроса в процентах. Значение может быть от 0 до 100. Если маркер продолжения в ответе имеет значение NULL, ожидается, что ход выполнения будет равен 100.

properties

PropertyValues[]

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

timestamps

string[]

Метки времени значений временных рядов. Если используется агрегирование с интервалами, метки времени представляют собой начало соответствующих интервалов. Если события извлекаются, метки времени — это значения метки времени $ts свойства событий. Может иметь значение NULL, если серверу не удалось заполнить страницу в этом запросе, или может быть пустым, если больше нет объектов, если маркер продолжения имеет значение NULL.

TimeSeriesAggregateCategory

Категория, используемая в категориальных переменных. Категория определяется меткой и значениями, которым назначена эта метка.

Имя Тип Описание
label

string

Имя категории, которая будет использоваться при создании имен выходных переменных.

values

object[]

Список значений, с которыми сопоставляется категория. Может быть уникальным списком строк или длинным списком.

TimeSeriesDefaultCategory

Представляет категорию по умолчанию.

Имя Тип Описание
label

string

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

TsiError

Сведения об ошибке API.

Имя Тип Описание
error

TsiErrorBody

Определенная ошибка API с кодом ошибки и сообщением.

TsiErrorBody

Определенная ошибка API с кодом ошибки и сообщением.

Имя Тип Описание
code

string

Независимая от языка, читаемая человеком строка, определяющая код ошибки для конкретной службы. Этот код служит более конкретным индикатором для кода ошибки HTTP, указанного в ответе. Может использоваться для программной обработки конкретных случаев ошибок.

details

TsiErrorDetails[]

Содержит дополнительные сведения об ошибке. Может принимать значение NULL.

innerError

TsiErrorBody

Содержит более конкретную ошибку, которая сужает причину. Может принимать значение NULL.

message

string

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

target

string

Целевой объект конкретной ошибки (например, имя свойства в ошибке). Может принимать значение NULL.

TsiErrorDetails

Дополнительные сведения об ошибке.

Имя Тип Описание
code

string

Независимая от языка, читаемая человеком строка, определяющая код ошибки для конкретной службы. Этот код служит более конкретным индикатором для кода ошибки HTTP, указанного в ответе. Может использоваться для программной обработки конкретных случаев ошибок.

message

string

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

Tsx

Выражение временных рядов (TSX), записанное в виде одной строки. Примеры: "$event. Status.String='Good'", "avg($event. Температура)". См. документацию по написанию выражений временных рядов.

Имя Тип Описание
tsx

string

Выражение временных рядов (TSX), записанное в виде одной строки. Примеры: "$event. Status.String='Good'", "avg($event. Температура)". См. документацию по написанию выражений временных рядов.