My simplified Geoevent Service looks like this:
Using the field calculator, I can add a name field, and thereby create a new geovent gefinition, which I then use in the field mapper to map my data to the output definition. However, if I restart the service, the new geovent definition is initially missing so I can't configure the field mapper, until new data is received from the input. In my real world example, it can take some time until new data is received (consider e.g. a field mapper after an incident detector) and the geoevent gefinition is created, making it impossible to work on the field mapper processor or check if the service is working correctly.
Would it be advisable to create a "static" geoevent definition for the field mapper (e.g. a copy of the new defintion when the service is running), or is there a better way to deal with the issue of temporarely existing definitions?
Hey Tim Leefmann
Long story short, best practice is to create a GeoEvent Definition with/for your output first, field map into that definition before the field calculator, then field calculate into an existing field.
Some of the details behind the 'why' is contained in the following blog article: https://community.esri.com/people/eironside-esristaff/blog/2020/01/07/geoevent-consuming-new-data
Basically, if you have the Field Calculator create the GeoEvent Definition, this definition is transient and created/destroyed at the platforms whim. Whenever possible create GeoEvent definitions that are owned by your user and can't be deleted by the system. Field Map first, then use the existing fields whenever posssible.