PERSEO_NOTICES_PATH='/ Notices',PERSEO_RULES_PATH='/rules' создать подписку 2 Orion из Cep и как уведомить правила и подписку между Orion и Cep

Я хочу создать подписку от PERSEO CEP до Orion CB, чтобы при изменении атрибута Perseo Cep выбрасывал правило. Как использовать эти 3 директивы: - PERSEO_NOTICES_PATH='/ Notices', - PERSEO_RULES_PATH='/rules' - MAX_AGE

В - MAX_AGE Я хочу, чтобы он длился вечно в течение многих лет.

perseo-core: образ: fiware / perseo-core имя хоста: perseo-core имя_контейнера: fiware-perseo-core disabled_on: - mongo-db - сети orion: - порты smartcity: - среда "8080:8080": - PERSEO_FE_URL = http://perseo-fe:9090/ - MAX_AGE=9999

Персей фронта:

изображение: telefonicaiot/perseo-fe

image: fiware/perseo
hostname: perseo-fe
container_name: fiware-perseo-fe
networks:
    - smartcity
ports:
    - "9090:9090"
depends_on:
     - perseo-core
environment:
    - PERSEO_ENDPOINT_HOST=perseo-core
    - PERSEO_ENDPOINT_PORT=8080
    - PERSEO_MONGO_HOST=mongo-db
    - PERSEO_MONGO_URL=http://mongo-db:27017
    - PERSEO_MONGO_ENDPOINT=mongo-db:27017 
    - PERSEO_ORION_URL=http://orion:1026/
    - PERSEO_LOG_LEVEL=debug
    - PERSEO_CORE_URL=http://perseo-core:8080
    - PERSEO_SMTP_SECURE=true
    - PERSEO_MONGO_USER:"root"
    - PERSEO_MONGO_PASSWORD:"example"
    - PERSEO_SMTP_HOST=x
    - PERSEO_SMTP_PORT=25
    - PERSEO_SMTP_AUTH_USER=x
    - PERSEO_SMTP_AUTH_PASS=x
    - PERSEO_NOTICES_PATH='/notices'
    - PERSEO_RULES_PATH='/rules'

2 ответа

При создании правила, когда я отправлял правило, у меня было http://perseo-coreip:8080/perseo-core/rules и это не правильно,

правильный: http://perseo-fe-ip:9090/rules, с этим он работает.

Сохраните правило в mongodb и запустите правило правильно.

Вы можете найти основную информацию о подписках CB в пошаговом руководстве по API NGSIv2, а полную информацию - в спецификации NGSIv2 (раздел "Подписки").

В этом случае вы должны установить в качестве конечной точки уведомления ту, которая соответствует Perseo. Принимая во внимание вышеуказанную конфигурацию для PERSEO_ENDPOINT_PORT а также PERSEO_NOTICES_PATH это должно быть что-то вроде этого:

  ...
  "notification": {
    "http": {
      "url": "http://<perseohost>:8080/notices"
    },
  ...

РЕДАКТИРОВАТЬ: возможно, порт 9090 вместо 8080. Не совсем уверен (9090 может быть порт в Perseo FE, где /notices прослушивает, а 8080 - это порт, который Perseo FE использует для связи с Perseo Core)

Другие вопросы по тегам