Протокол¶
Оглавление¶
-
keyapis/telemetry_metric/v1/keyapis_telemetry_metric_measurement_v1.proto
- GetMeasurementConvertedCountResponse
- GetMeasurementConvertedListRequest
- GetMeasurementConvertedListResponse
- GetMeasurementCountRequest
- GetMeasurementCountResponse
- GetMeasurementListRequest
- GetMeasurementListResponse
- Measurement
- MeasurementFilter
- MeasurementPaging
- PostMeasurementHalfDuplexRequest
- PostMeasurementHalfDuplexResponse
- PostMeasurementRequest
- Measurement.MetricType
- Measurement.UnitType
- MeasurementPaging.DirectionType
- MeasurementPaging.OrderByType
Схема классов¶
keyapis/telemetry_metric/v1/keyapis_telemetry_metric_measurement_v1.proto¶
Сервис реализует функционал управления измерениями
MeasurementService¶
Сервис измерений
GetMeasurementConvertedCountRequest¶
Запрос получения количества преобразованных измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Параметры фильтрации измерений | keyapis.telemetry_metric.v1.MeasurementFilter |
GetMeasurementConvertedCountResponse¶
Ответ на запрос получения количества преобразованных измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего измерений | optional int32 |
GetMeasurementConvertedListRequest¶
Запрос получения списка преобразованных измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Параметры фильтрации измерений | keyapis.telemetry_metric.v1.MeasurementFilter | |
| paging | Параметры пагинации по измерениям | optional keyapis.telemetry_metric.v1.MeasurementPaging |
GetMeasurementConvertedListResponse¶
Ответ на запрос получения списка преобразованных измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Значение измерения | optional keyapis.telemetry_metric.v1.Measurement |
GetMeasurementCountRequest¶
Запрос получения количества измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Параметры фильтрации измерений | keyapis.telemetry_metric.v1.MeasurementFilter |
GetMeasurementCountResponse¶
Ответ на запрос получения количества измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего измерений | optional int32 |
GetMeasurementListRequest¶
Запрос получения списка измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Параметры фильтрации измерений | keyapis.telemetry_metric.v1.MeasurementFilter | |
| paging | Параметры пагинации по измерениям | optional keyapis.telemetry_metric.v1.MeasurementPaging |
GetMeasurementListResponse¶
Ответ на запрос получения списка измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Значение измерения | optional keyapis.telemetry_metric.v1.Measurement |
Measurement¶
Измерение. Очередь key.telemetry_consumer.measurement_stream_request.v1
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| indicator_id | Идентификатор | int32 | REQUIRED |
| value | Значение | float | REQUIRED |
| synced_at | Временная метка сбора счётчиком. Если не передано берётся серверное время | google.protobuf.Timestamp | |
| fias_id | ФИАС | google.protobuf.StringValue | |
| device_id | Идентификатор устройства | google.protobuf.Int32Value | |
| device_parent_id | Идентификатор родительского устройства | google.protobuf.Int32Value | |
| device_model | Модель устройства | google.protobuf.StringValue | |
| device_type | Тип устройства | keyapis.telemetry_metric.v1.Measurement.DeviceType | |
| metric_type | Тип энергоресурса | keyapis.telemetry_metric.v1.Measurement.MetricType | |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта | google.protobuf.Timestamp | OUTPUT_ONLY |
| utc_offset | Сдвиг таймзоны относительно UTC для даты synced_at | int32 | |
| unit_type | Тип единицы измерения, в которой представлено, получаемое измерение | keyapis.telemetry_metric.v1.Measurement.UnitType |
MeasurementFilter¶
Фильтр измерений. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| fias_ids | По ФИАСам | repeated string | |
| device_ids | По идентификаторам | repeated int32 | |
| indicator_ids | По идентификаторам индикаторов | repeated int32 | |
| begin_synced_at | От даты синхронизации включительно (>=) | google.protobuf.Timestamp | |
| end_synced_at | До даты синхронизации (<) | google.protobuf.Timestamp | |
| device_models | По моделям устройств | repeated string | |
| device_types | По типам устройств | repeated keyapis.telemetry_metric.v1.Measurement.DeviceType | |
| metric_types | По типам измерений | repeated keyapis.telemetry_metric.v1.Measurement.MetricType | |
| is_border_measurements_only | Ограничение результатов только пограничными значениями для периода. Если border_measurements_only=null возвращаем измерения по условиям фильтра, уникальные по (indicator_id, synced_at). Если border_measurements_only=falsе возвращаем измерения по условиям фильтра, уникальные по (indicator_id, synced_at). Если заданы border_measurements_only=true, begin_synced_at, end_synced_at возвращаем два измерения ближайшие к границам периода. Если заданы border_measurements_only=true, и не задана end_synced_at возвращаем одно измерение ближайшее к begin_synced_at. Если заданы border_measurements_only=true, и не задана begin_synced_at возвращаем одно измерение ближайшее к end_synced_at. Если заданы border_measurements_only=true и не заданы begin_synced_at и end_synced_at возвращаем ошибку валидации параметров | google.protobuf.BoolValue |
MeasurementPaging¶
Параметры пагинации измерений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. По умолчанию: SYNCED_AT | keyapis.telemetry_metric.v1.MeasurementPaging.OrderByType | |
| direction_type | Тип направления сортировки. По умолчанию: DESC | keyapis.telemetry_metric.v1.MeasurementPaging.DirectionType | |
| limit | Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию | int32 | |
| offset | Сдвиг. По умолчанию: 0 | int32 |
PostMeasurementHalfDuplexRequest¶
Запрос сохранения потока измерения
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Измерение | keyapis.telemetry_metric.v1.Measurement | REQUIRED |
PostMeasurementHalfDuplexResponse¶
Ответ на запрос сохранения потока измерений
PostMeasurementRequest¶
Запрос сохранения измерения
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Измерение | keyapis.telemetry_metric.v1.Measurement | REQUIRED |
PostMeasurementResponse¶
Ответ на запрос сохранения измерения
Measurement.DeviceType¶
Справочник типов устройств
| Номер | Тип | Название |
|---|---|---|
| 0 | DEVICE_TYPE_UNKNOWN | Значение не указано |
| 1 | HUB | Коммуникационный модуль |
| 2 | PULSE_COUNTER_RECORDER | Счетчик импульсов - регистратор |
| 3 | PULSE_COUNTER_RECORDER_LR | Счетчик импульсов - регистратор LoRaWAN |
| 4 | METERING_DEVICE | Прибор учета расхода коммунальных услуг |
| 5 | INTERFACE_CONVERTER | Конвертер интерфейсов |
| 6 | M_BUS_HUB | M-BUS концентратор |
| 7 | COMMUNICATION_MODULE_LR | Модуль связи LoRaWAN |
| 8 | BASE_LR | Базовая станция LoRaWAN |
Measurement.MetricType¶
Справочние типов энергоресурсов
| Номер | Тип | Название |
|---|---|---|
| 0 | METRIC_TYPE_UNKNOWN | Значение не указано |
| 1 | HOT_WATER | Горячая вода |
| 2 | COLD_WATER | Холодная вода |
| 3 | HEAT | Теплоэнергия |
| 4 | GAS | Газ |
| 5 | ELECTRICITY | Электроэнергия |
Measurement.UnitType¶
Справочник типов единиц измерений
| Номер | Тип | Название |
|---|---|---|
| 0 | UNIT_TYPE_UNKNOWN | Значение не указано |
| 1 | PERCENT | Процент |
| 2 | C | Градус по Цельсию |
| 3 | WT | Ватт |
| 4 | GKAL | Гигакалория |
| 5 | VALUE | Количество |
| 6 | KWH | Киловaтт-час |
| 7 | KG_CM2 | Килограмм на квадратный сантиметр |
| 8 | KGF_CM2 | Килограмм-сила на квадратный сантиметр |
| 9 | M3 | Кубический метр |
| 10 | M3_H | Кубический метр в час |
| 11 | MPA | Мегапаскаль |
| 12 | MS | Миллисекунда |
| 13 | BOOLEAN | Флаг состояния |
| 14 | T | Тонна |
| 15 | T_H | Тонна в час |
| 16 | H | Час |
| 17 | NON_MEASURABLE | Безразмерная величина |
| 18 | IMP | Импульс |
| 19 | J | Джоуль |
| 20 | KJ | Килоджоуль |
| 21 | GJ | Гигаджоуль |
| 22 | WTH | Ватт-час |
| 23 | KWT | Киловатт |
| 24 | MIN | Минута |
| 25 | S | Секунда |
MeasurementPaging.DirectionType¶
Справочник типов направлений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
MeasurementPaging.OrderByType¶
Справочник типов значений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | INDICATOR_ID | По идентификатору индикатора |
| 2 | SYNCED_AT | По дате synced_at |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| uint32 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| sfixed32 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |