Closed Charlie-Henry closed 2 months ago
Thanks @Charlie-Henry for making this issue. Agree 100%.
I am setting this as blocked by https://github.com/cityofaustin/atd-data-tech/issues/14242. The current problem is that we don't reliably know when a Moped project (or any of it's many related records) was edited.
check Knack services ETL
Here's what I think needs to be done to the current ETL:
last_run_date
argument, and pass this argument to the Hasura query we use to fetch components. delete_features
utility so that it can receive an array of component IDs that need to be deleted, and pass those component ids into the where
statement of the AGOL API call.last_run_date
value from it's contextOne consideration is that I think we'll want to delete features in batches, because there must be some upper limit to how many component IDs we can pass in the where
clause. I believe that's exactly what we do in the atd-knack-services
code, even though we're using the Esri Python library in the atd-knack-services
code, whereas in this ETL we are happily interacting directly with Esri's REST APi.
Currently, the Moped components ETL replaces then uploads all of the moped components. Now, there's 11,000+ components so it would be good to update this ETL to only upload the changed/new components to AGOL.
Resources https://github.com/cityofaustin/atd-knack-services/blob/production/README.md