Cumulocity — Отправить измерение / сигнал тревоги / событие с использованием внешнего идентификатора через HTTP

#iot #cumulocity

#iot #кумулятивность

Вопрос:

Недавно я изучал Cumulocity, и мне удалось использовать внешний идентификатор для отправки данных (измерений / сигналов тревоги / событий) через MQTT. Это хорошо документировано и довольно прямолинейно. Но я не могу найти, как отправить данные (измерение / сигнал тревоги / событие), используя externalId вместо источника.

Например, вот как выглядит запись измерения, если вы знаете идентификатор клиента устройства:

  curl -X POST 
  https://myTenant.cumulocity.com/measurement/measurements 
  -H 'Accept: application/vnd.com.nsn.cumulocity.measurement json' 
  -H 'Authorization: Basic mytoken' 
  -H 'Content-Type: application/json' 
  -d '{
    "c8y_TemperatureMeasurement": {
        "T": { 
            "value": 25,
            "unit": "C" }
        },
    "time":"2019-03-07T10:03:14.000 11:00", 
    "source": {
        "id":"1234567" }, 
    "type": "c8y_TemperatureMeasurement"
}'
  

Есть ли способ заменить этот «источник»: {«id»: «1234567»} на внешний идентификатор?
Как будет выглядеть запрос?

Ответ №1:

На сегодняшний день это невозможно:

Вместо этого вы должны сначала преобразовать externalId в идентификатор источника один раз (например, при загрузке устройства это выполняется в качестве первого действия). После этого отправьте все запросы (например, сообщения для создания измерений / сигналов тревоги / событий), используя этот полученный идентификатор источника.

Это также описано в SDK устройства для HTTP здесь:https://cumulocity.com/guides/device-sdk/rest#step-1-check-if-the-device-is-already-registered .

Спасибо за хороший отзыв о документации!