2016-12-13 2 views
1

Я прочитал раздел «Пользовательские уведомления» в NGSIv2 specification, и у меня все еще есть сомнения в том, как сделать эту работу.Как добавить пользовательский заголовок в исходящие уведомления с помощью Orion?

Должен ли я вставить свой подписной POST следующий код в качестве полезной нагрузки?

"httpCustom": { 
    "url": "http://foo.com/entity/${id}", 
    "headers": { 
    "Content-Type": "text/plain" 
    }, 
    "method": "PUT", 
    "qs": { 
    "type": "${type}" 
    }, 
    "payload": "The temperature is ${temperature} degrees" 
} 

Как бы полная нагрузка с httpCustom для подписки с аутентификации/авторизации?

И, наконец, действительно необходимо использовать Rush, как указано в Rush Relayer? В этом случае мы должны использовать «стороннее» программное обеспечение, которое было обновлено почти 3 года назад. Почему это не Orion? Я был бы признателен за помощь в этом.

ответ

1

В следующем httpCustom могут быть использованы:

"httpCustom": { 
    "url": "http://example.com/some/path", 
    "headers": { 
    "X-Auth-Token": "n5u43SunZCGX0AbnD9e8R537eDslLM" 
    } 
} 

Маркер will expire from time to time. Таким образом, он должен обновляться с регулярным интервалом, изменяя элемент httpCustom новым маркером (с использованием операции PATCH /v2/subscriptions/<id>, см. NGSIv2 specification).

Что касается Rush, нет необходимости, если вы можете получить HTTP-HTTPS с некоторым эквивалентным программным обеспечением. Собственные уведомления HTTPS в Orion были определены как a topic of interest, и даже был pull request с реализацией кода в этой строке. В настоящее время это не является приоритетом, однако взносы, связанные с этим приветствуются :)

EDIT: выше httpCustom конфигурация сделает уведомления Orion отправки в том числе X-Auth-Token заголовка. Таким образом, предполагается, что на конечной точке url (например, http://example.com/some/path в приведенном выше примере) элементы аутентификации, способные обрабатывать заголовок X-Auth-Token, будут прослушиваться (как правило, точка соблюдения политики -PEP-Proxy).

ОБНОВЛЕНИЕ: Начиная с версии 1.7.0, Orion реализует собственные HTTPS-уведомления (т. Е. Без необходимости Rush).

+0

Я постараюсь как можно скорее. Хотя это, @fgalan, что вы предлагаете для операции DELETE, разрешено только после процесса авторизации/авторизации? Я попытался выполнить операцию DELETE с помощью X-Auth-Token, но получил следующее: Состояние этой операции: 400 Произошла некоторая ошибка! {«error»: «BadRequest», «description»: «Orion не принимает никакой нагрузки для запросов GET/DELETE. HTTP-заголовок Content-Type запрещен»} – Dalton

+0

Чтобы не смешивать темы, я предлагаю вам задать свой новый вопрос, как идеонизирующий пост stackoverflow, пожалуйста. Благодаря! – fgalan

+0

Привет, @fgalan. Я сделал то, что вы сказали, зарегистрировав некоторые подписки с httpCustom следующим образом: '" уведомление ": { " httpCustom ": { " url ":" http: // myapp: 1028 ", " заголовки ": { «X-Auth-Token»: «u2ljrNrf0zNDmITX7Dyyx347DLKa4c» } } ' Но я не понял, как это работает. Я зарегистрировал подписку, пропуская действительный токен. Когда этот токен будет подтвержден в тот момент, когда будет отправлено какое-либо уведомление? По-видимому, x-auth-токен в httpCustom не работает, потому что я протестировал создание подписки с недопустимым токеном и уведомление было отправлено. – Dalton

Смежные вопросы