Перейти к содержанию

Протокол

Оглавление

Схема классов

/svg/protos/key/keyapis/telemetry_control/v1/keyapis_telemetry_control_stream_v1.proto.svg

keyapis/telemetry_control/v1/keyapis_telemetry_control_stream_v1.proto

Сервис реализует поток изменений ресурсов домена Телеметрии

StreamService

Сервис реализует поток изменений ресурсов домена Телеметрии. Авторизация: - X-Api-Key: apiKey

Название метода Описание Тип запроса Тип ответа
PostResourceFullDuplex Полнодуплексный отправки статусов получения ресурсов на сервер и получения изменения ресурсов со стороны сервера. Метод доступен для: ApiKey: Без учета разрешений. С контролем привязки домов к группе keyapis.telemetry_control.v1.PostResourceFullDuplexRequest stream keyapis.telemetry_control.v1.PostResourceFullDuplexResponse stream

PostResourceFullDuplexRequest

Запрос создания задачи с клиента на сервере

Поле Описание Тип Признак
request_id Идентификатор запроса string
resource_async_status Результат обработки ресурса на клиенте optional keyapis.telemetry_control.v1.PostResourceFullDuplexRequest.ResourceAsyncStatus

PostResourceFullDuplexRequest.ResourceAsyncStatus

Результат обработки ресурса на клиенте

Поле Описание Тип Признак
resource_id Идентификатор ресурса keyapis.telemetry_control.v1.ResourceId REQUIRED
data Успех optional keyapis.telemetry_control.v1.PostResourceFullDuplexRequest.ResourceAsyncStatus.Success
error Ошибка optional keyapis.telemetry_control.v1.PostResourceFullDuplexRequest.ResourceAsyncStatus.Error

PostResourceFullDuplexRequest.ResourceAsyncStatus.Error

Ошибки обработки ресурса на клиенте

Поле Описание Тип Признак
unknown Неизвестная ошибка optional keyapis.telemetry_control.v1.PostResourceFullDuplexRequest.ResourceAsyncStatus.Error.UnknownError

PostResourceFullDuplexRequest.ResourceAsyncStatus.Error.UnknownError

Неизвестная ошибка на стороне клиента

Поле Описание Тип Признак
message Произвольный текст ошибки на стороне клиента. Отправляется в случае если в спецификации нет подходящей ошибки. После анализа таких ошибок в спецификацию добавляется специальный тип под эту ошибку string REQUIRED

PostResourceFullDuplexRequest.ResourceAsyncStatus.Success

Команда принята

PostResourceFullDuplexResponse

Событие создания/изменения ресурса

Поле Описание Тип Признак
request_id Идентификатор запроса string REQUIRED
upsert_resource_event Событие создания/обновления ресурса optional keyapis.telemetry_control.v1.PostResourceFullDuplexResponse.UpsertResourceEvent
remove_resource_event Событие удаления ресурса optional keyapis.telemetry_control.v1.PostResourceFullDuplexResponse.RemoveResourceEvent

PostResourceFullDuplexResponse.RemoveResourceEvent

Событие удаления ресурса

Поле Описание Тип Признак
resource_id Идентификатор ресурса keyapis.telemetry_control.v1.ResourceId REQUIRED

PostResourceFullDuplexResponse.UpsertResourceEvent

Событие создания/обновления ресурса

Поле Описание Тип Признак
resource Ресурс keyapis.telemetry_control.v1.Resource REQUIRED

Resource

Ресурс

Поле Описание Тип Признак
building Объект строительства optional keyapis.telemetry_control.v1.Building
device Идентификатор ПУ optional keyapis.telemetry_control.v1.Device
metric_point Точка учета optional keyapis.telemetry_control.v1.Device.MetricPoint
indicator Индикатор optional keyapis.telemetry_control.v1.Indicator
indicator_metric_point Связка индикатора и ТУ optional keyapis.telemetry_control.v1.DeviceIndicatorMetricPoint

ResourceId

Идентификатор ресурса

Поле Описание Тип Признак
building_id Идентификатор объекта строительства optional int32
device_id Идентификатор ПУ optional int32
metric_point_id Идентификатор ТУ optional string
indicator_id Идентификатор индикатора optional int32
indicator_metric_point Связка индикатора и ТУ optional keyapis.telemetry_control.v1.DeviceIndicatorMetricPoint

Скалярные типы значений

.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