ПОЕЗД Орион: ответы на уведомления - PullRequest
0 голосов
/ 30 сентября 2018

В Orion я могу создать подписку:

curl localhost:1026/v2/subscriptions -s -S --header 'Content-Type: application/json' \
    -d @- <<EOF
{
  "description": "A subscription to get info about Room1",
  "subject": {
    "entities": [
      {
        "id": "Room1",
        "type": "Room"
      }
    ],
    "condition": {
      "attrs": [
        "pressure"
      ]
    }
  },
  "notification": {
    "http": {
      "url": "http://localhost:1028/accumulate"
    },
    "attrs": [
      "temperature"
    ]
  },
  "expires": "2040-01-01T14:00:00.00Z",
  "throttling": 5
}
EOF

В этом примере Orion выполнит POST-запрос на сервере http://localhost:1028/accumulate.Есть ли способ получить ответ от POST, полученный Orion?т.е. 200, 404 ... В моем случае использования уведомления выполняют запросы POST для создания некоторых ресурсов на другом сервере.POST возвращает местоположение созданных ресурсов.Было бы полезно получить эти места.

1 Ответ

0 голосов
/ 01 октября 2018

Орион не записывает ответы на уведомления, которые он отправляет.Он реализует подход «запускай и забывай» и уделяет мало внимания ответам на запросы уведомлений.На самом деле Орион просматривает ответ последнего уведомления и использует его для установки lastFailure или lastSuccess отметки времени (в зависимости от случая) и установки status в failed, если в ответе содержится код ошибки.

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

...