We're looking for ways to synchronise Hosted Feature Services with our main file server geodatabases. One approach may be to do away with hosted and use lots of Enterprise GDBs. However, I'm wandering if anyone has come up with a novel way to synchronise the Hosted data with existing File GDBs within our projects.
The aim of the game is one-truth data management, so we're reluctant to operate with a Hosted environment due to other geodata requirements across the business.
We get away with all but 2 of our services being hosted copies of authoritative data elsewhere, and we never have to really think about it. The sync process relies heavily on the ArcGIS Python API. Here's how we do it:
It sounds like a lot, but at the end of the day, you only have to edit features that actually were edited in the source. We keep a number of layers with 100k + features in them up to date with their sources nightly, and the process takes less than a minute per layer.
I recently presented on this topic at a regional GIS conference. You're welcome to look at the notes here: https://github.com/jdcarls2/ilgisa-2022/tree/main/hosted-copy
It can be complex to set up, but the end result is totally worth it. You could take it a step further and use the compare function to identify not just rows with edits, but columns as well, further paring down the data exchanged during the sync process.
have a look at this:
@jcarlson really nice approach that. As you say, complex to set up, but ultimately a very elegant solution. im going to weigh up the options (to EGDB or not to EGDB) before delving into this one