Si estás compartiendo servicios de entidades alojados, opcionalmente con servicios secundarios como Map Tile, WFS y OGC, y tus datos fuente cambian regularmente, querrás automatizar la actualización de los datos del servicio sin romper el identificador del ítem o los elementos de metadatos para que los mapas y aplicaciones de tus clientes sigan funcionando. Este blog muestra cómo hacerlo - usando ArcGIS Data Interoperability.<\/P>
Primero, el mapa obligatorio de nuestra área de estudio y datos, direcciones en Noruega<\/A>:<\/P>Direcciones en Oslo<\/span><\/span><\/P>Para ser claro, reiteraré el escenario.<\/P>Estás compartiendo un servicio de entidades alojado que puede ser grande<\/LI>Puedes estar compartiendo servicios publicados desde el servicio de entidades alojado<\/LI>Los datos fuente podrían no ser gestionados en ArcGIS<\/LI>Los datos fuente cambian regularmente y quieres aplicar los cambios al/los servicio(s)<\/LI>No quieres que los identificadores de ítems de Portal u Online cambien cuando actualices los datos<\/LI>Quieres automatizar este mantenimiento con tiempo de inactividad mínimo<\/LI>No quieres escribir ningún código<\/LI><\/UL>Se entiende bien que Data Interoperability puede detectar cambios en el conjunto de datos y aplicarlos a una copia publicada de los datos. Esto funciona bien y permite cero tiempo de inactividad si escribes los cambios incrementalmente a un servicio de entidades. Sin embargo, cuando tratas con millones de entidades esto puede tomar mucho tiempo, tanto para leer los conjuntos de datos originales y revisados como para escribir las transacciones de cambio. También existe el riesgo de encontrar problemas de red durante transacciones muy largas.<\/P>Necesitamos una opción que simplemente reemplace los datos del servicio de manera eficiente y rápida. Esto se puede hacer manteniendo una copia en file geodatabase de los datos fuente en tu Portal u Online y reemplazando los datos del servicio usando un flujo de trabajo de truncate y append <\/A>.<\/P>Aquí está la herramienta Data Interoperability que muestra el patrón.<\/P>Workbench<\/span><\/span><\/P>El marcador azul es cualquier ETL que necesites para poner tus datos en forma final, en mi caso estoy descargando algunos datos, haciendo algo de eliminación de duplicados y haciendo algunos ajustes a campos.<\/P>El marcador verde pálido es donde escribo los datos a un file geodatabase comprimido y sobrescribo un ítem file geodatabase en Online. El marcador color beige es donde trunco mi capa objetivo.<\/P>El marcador verde más brillante es el paso final donde llamo a la función append que lee del ítem file geodatabase y escribe en la capa objetivo.<\/P>¡Todo muy simple, verdad!<\/P>Para aproximadamente 2.7M entidades de direcciones y desde mi red doméstica todo el trabajo, incluyendo esperar a que la operación append asíncrona termine, toma alrededor de una hora.<\/P>¡Pero espera, hay más! Publiqué servicios Map Tile, WFS y OGC desde mi servicio objetivo, aquí está todo en mi carpeta del proyecto Online:<\/P>Servicios<\/span><\/span><\/P> <\/P>Las cachés para cada servicio secundario toman unos minutos extra para actualizarse pero el proceso es automático (los servicios Vector Tile necesitan una reconstrucción manual de caché desde la página de configuración del ítem).<\/P>Si estuviera haciendo esto para un entorno productivo movería el procesamiento a un servidor Enterprise como lo describe este blog anterior<\/A> y programaría la tarea para ejecutarse durante la noche a un intervalo apropiado.<\/P>Aquí lo tienes, actualización masiva automatizada y eficiente de servicios de entidades alojados y sus productos derivados. La herramienta que describo está en la descarga del blog, ¡diviértete!<\/P>Nota para usuarios Enterprise:<\/STRONG> Actualmente ArcGIS Enterprise no soporta file geodatabase (filegdb) como formato append, debes usar shapefile (o Excel o CSV si trabajas con tablas). Para agregar shapefiles probablemente necesitarás especificar un diccionario fieldMappings en el parámetro layerMappings para mapear los nombres de campo en tu shapefile al servicio objetivo.<\/P>
Direcciones en Oslo<\/span><\/span><\/P>Para ser claro, reiteraré el escenario.<\/P>Estás compartiendo un servicio de entidades alojado que puede ser grande<\/LI>Puedes estar compartiendo servicios publicados desde el servicio de entidades alojado<\/LI>Los datos fuente podrían no ser gestionados en ArcGIS<\/LI>Los datos fuente cambian regularmente y quieres aplicar los cambios al/los servicio(s)<\/LI>No quieres que los identificadores de ítems de Portal u Online cambien cuando actualices los datos<\/LI>Quieres automatizar este mantenimiento con tiempo de inactividad mínimo<\/LI>No quieres escribir ningún código<\/LI><\/UL>Se entiende bien que Data Interoperability puede detectar cambios en el conjunto de datos y aplicarlos a una copia publicada de los datos. Esto funciona bien y permite cero tiempo de inactividad si escribes los cambios incrementalmente a un servicio de entidades. Sin embargo, cuando tratas con millones de entidades esto puede tomar mucho tiempo, tanto para leer los conjuntos de datos originales y revisados como para escribir las transacciones de cambio. También existe el riesgo de encontrar problemas de red durante transacciones muy largas.<\/P>Necesitamos una opción que simplemente reemplace los datos del servicio de manera eficiente y rápida. Esto se puede hacer manteniendo una copia en file geodatabase de los datos fuente en tu Portal u Online y reemplazando los datos del servicio usando un flujo de trabajo de
Aquí está la herramienta Data Interoperability que muestra el patrón.<\/P>
Workbench<\/span><\/span><\/P>El marcador azul es cualquier ETL que necesites para poner tus datos en forma final, en mi caso estoy descargando algunos datos, haciendo algo de eliminación de duplicados y haciendo algunos ajustes a campos.<\/P>El marcador verde pálido es donde escribo los datos a un file geodatabase comprimido y sobrescribo un ítem file geodatabase en Online. El marcador color beige es donde trunco mi capa objetivo.<\/P>El marcador verde más brillante es el paso final donde llamo a la función append que lee del ítem file geodatabase y escribe en la capa objetivo.<\/P>¡Todo muy simple, verdad!<\/P>Para aproximadamente 2.7M entidades de direcciones y desde mi red doméstica todo el trabajo, incluyendo esperar a que la operación append asíncrona termine, toma alrededor de una hora.<\/P>¡Pero espera, hay más! Publiqué servicios Map Tile, WFS y OGC desde mi servicio objetivo, aquí está todo en mi carpeta del proyecto Online:<\/P>Servicios<\/span><\/span><\/P> <\/P>Las cachés para cada servicio secundario toman unos minutos extra para actualizarse pero el proceso es automático (los servicios Vector Tile necesitan una reconstrucción manual de caché desde la página de configuración del ítem).<\/P>Si estuviera haciendo esto para un entorno productivo movería el procesamiento a un servidor Enterprise como lo describe
Aquí lo tienes, actualización masiva automatizada y eficiente de servicios de entidades alojados y sus productos derivados. La herramienta que describo está en la descarga del blog, ¡diviértete!<\/P>
Nota para usuarios Enterprise:<\/STRONG> Actualmente ArcGIS Enterprise no soporta file geodatabase (filegdb) como formato append, debes usar shapefile (o Excel o CSV si trabajas con tablas). Para agregar shapefiles probablemente necesitarás especificar un diccionario fieldMappings en el parámetro layerMappings para mapear los nombres de campo en tu shapefile al servicio objetivo.<\/P>
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.