Как программно (java или http) создать проекцию в GetEventStore

Фон

Я использую EventStore (от geteventstore.com) в проекте. Итак, я реализовал сторону записи приложения. То есть я могу читать и записывать события для данного агрегата.

Теперь я на стороне чтения и мне нужно подписаться на поток. Я использую java API, и здесь все также работает.

Теперь проблема

Поток не существует... Мне нужно создать проекцию, которая объединяет события из разных потоков в один поток для моей модели чтения.

Как создать проекцию через API? Желательно с java API, но подойдет и http API.

Подробности

Поскольку проекции являются средством для модели чтения, чтобы получить точные события, которые ей нужны, новые проекции будут создаваться по мере изменения потребностей бизнеса. Поэтому моя идея заключается в том, что служба readmodel будет проверять и потенциально создавать необходимую проекцию при запуске.

Недопустимо создавать прогнозы вручную перед запуском сервиса. Это было бы похоже на ручную миграцию базы данных sql.


person mathiasbn    schedule 09.05.2016    source источник
comment
Хотите автоматизировать создание и обслуживание проекционного кода, используя только код Java — есть ли возможное решение?   -  person Abdeali Chandanwala    schedule 21.12.2017
comment
мне был бы интересен ответ на этот вопрос для использования HTTP API. https://eventstore.org/docs/http-api/swagger/create%20a%20continious%20projection[docs] неясно, где и как включить javascript проекции.   -  person hwjp    schedule 12.11.2019


Ответы (1)


Из http://docs.geteventstore.com/dotnet-api/4.0.0/projections/

общедоступная задача CreateContinuousAsync(строковое имя, строковый запрос, UserCredentials userCredentials = null)

Создает проекцию, которая будет выполняться до конца журнала, а затем продолжит работу. Параметр запроса содержит javascript, который вы хотите создать как одноразовую проекцию. Непрерывные проекции имеют явные имена и могут быть включены/отключены с помощью этого имени.

Есть и другие варианты, такие как создание одноразовой проекции и т.д.

Оно относится к .NET API. Поскольку для API Java, похоже, нет специальной документации, я предполагаю, что они похожи.

person Rodolfo Grave    schedule 30.05.2017
comment
откуда вы берете строку запроса? Я не хочу, чтобы этот запрос был кодом JS. хотите создать проекцию из системы только с помощью java. - person Abdeali Chandanwala; 21.12.2017
comment
Запрос представляет собой код JavaScript, который вы вводите при создании проекции с помощью веб-интерфейса. - person Rodolfo Grave; 09.01.2018
comment
как я и думал - я также проверил документацию магазина событий, и собственный API для построения проекций не был выпущен ... так что, думаю, мне нужно подождать, если это не произойдет. - person Abdeali Chandanwala; 09.01.2018