Получение данных прогноза из OpenWeatherMap в FIWARE ORION

Я пытаюсь получить данные прогноза погоды из OpenWeatherMap и интегрировать их в Orion, выполнив запрос на регистрацию.

Мне удалось зарегистрироваться и получить ключ API из OpenWeatherMap, однако последний возвращает файл JSON со всеми данными внутри, что не поддерживается ORION.

Я следовал пошаговому руководству https://fiware-tutorials.readthedocs.io/en/latest/context-providers/index.html#context-provider-ngsi-proxy, где они получили данные из OpenWeatherMap с помощью прокси-сервера NGSI, Ключ API должен быть указан в файле docker-compose как переменная среды, однако полученные данные являются «текущими данными», а не прогнозом, а также специфичны для Берлина.

Я попытался получить доступ к файлам внутри контейнера «fiware / tutorials.context-provider» и попытаться изменить и сопоставить параметры с моими потребностями, но мне кажется, что я иду по длинному заблокированному пути.

Я не думаю, что это даже считается хорошей практикой, но у меня закончились идеи :(

Может ли кто-нибудь подсказать, как мне передать данные прогноза в Орион и зарегистрировать их в качестве поставщика контекста?

Заранее спасибо.


person Abdelkader SALLEMINE    schedule 22.07.2019    source источник


Ответы (1)


Я предполагаю, что вы стремитесь реализовать провайдера контекста, способного общаться NGSI с Orion. OpenWeatherMap определенно не реализует NGSI ...

Если у вас есть данные из OpenWeatherMap в виде строки JSON, возможно, вам следует проанализировать JSON и создать свои объекты, используя некоторые выбранные ключи и значения из проанализированного OpenWeatherMap? Сохраните объект (объекты) локально, а затем зарегистрируйте эти ключи в Orion.

В качестве альтернативы (проще, но я бы не рекомендовал это) создайте локальные объекты со всеми данными OpenWeatherMap в качестве значения атрибута объекта:

{"id": "id-from-OpenWeatherMap", "type": "OpenWeatherMap", "weatherData": {"значение": ...} ...}

Затем вы регистрируете id / weatherData в Орионе.

person kzangeli    schedule 23.07.2019
comment
Спасибо за ответ, я считаю, что первое предложенное вами решение как бы связано с этим ‹ngsi-js-library.readthedocs.io/en/latest/ngsi/docs/JSONParser/› Мне интересно, смогу ли я по-прежнему использовать Orion механизм регистрации и зарегистрируйте что-то в качестве поставщика контекста после того, как я отправлю проанализированную сущность в Orion, или я смогу публиковать только обновленные сущности в Orion без необходимости делать какие-либо регистрации. - person Abdelkader SALLEMINE; 23.07.2019
comment
Насчет этого документа ... неудачное имя, которое они выбрали. Если я правильно понимаю, это конструктор JSON, а не парсер. Так что нет, вам нужно обратное - вам нужно проанализировать строку JSON и преобразовать ее во что-то, что вы можете использовать в своей программе. Если вы используете Javascript, я думаю, вы можете просто использовать строку JSON как объект (не эксперт ...). И да, вы можете зарегистрировать свою организацию в Орионе. Ваша программа должна быть подготовлена ​​к работе с перенаправленными запросами - обновлениями и запросами. См. telefonicaid.github.io/fiware-orion/api/v2/stable, хотя провайдеры контекста не слишком объяснены - person kzangeli; 24.07.2019
comment
На этой странице руководства Orion представлена ​​информация о поставщиках контекста и направлениях: fiware -orion.readthedocs.io/en/master/user/context_providers/ - person fgalan; 25.07.2019