Este artículo es una actualización de un blog anterior de mi colega @BruceHarold publicado hace un tiempo. Aunque el flujo de trabajo y las fuentes de datos son los mismos, esta solución elimina cualquier código agregado previamente, gracias al poder del transformador de Workbench llamado HTTPCaller y la ArcGIS REST API<\/SPAN>.<\/P>Con algunos cambios en la solución original, construiremos una solución de integración web a web con ArcGIS Online.<\/P>También destacaré algunas mejoras de Data Interoperability desde que se escribió este blog hace cinco años. Con este blog viene una versión más reciente del ejemplo funcional que puedes descargar desde el enlace a continuación.<\/P>¿Puedes notar la diferencia?<\/STRONG><\/P>Cambiamos el destino de geodatabase de archivo a ArcGIS Online. Usando la función Compare Workspace puedes ver los cambios visuales en el lienzo para ayudarte a modificar un espacio de trabajo existente. El espacio de trabajo Sólo Lectura<\/STRONG> a la derecha es el original y el nuevo espacio de trabajo Editable<\/STRONG> es el nuevo. En la ventana Navegador Editable<\/STRONG>, los objetos en color cian son nuevos, los amarillos están modificados. <\/P>La clase de entidad Observations en color magenta en el espacio de trabajo original ahora se cambió a una capa de entidades AGOL en color azul en el nuevo. <\/P>Agregamos dos transformadores y eliminamos cualquier script Python que formaba parte del ejemplo original.<\/P>Se añadió un FeatureMerger para reemplazar la salida de la tabla Match y este tipo de entidad Match Table es reemplazado por el HTTPCaller.<\/P>El código python que añadía los adjuntos ahora es reemplazado por una configuración del HTTPCaller que llama al endpoint AddAttachment REST del servicio de entidades ArcGIS Server.<\/P>Compare Workspaces<\/span><\/span><\/P>Comienza con una conexión web<\/STRONG><\/P>Necesitas hacer esto solo una vez en tu menú Tools ---> FME Options<\/STRONG>. Para referencia sobre cómo construir una conexión web por favor consulta este artículo<\/A>. Este artículo muestra cómo construir una conexión web para ArcGIS Enterprise, sin embargo, los pasos son los mismos para ArcGIS Online. Una vez que tengas la conexión web, entremos en detalles.<\/P>Elimina el código y aprende a configurar el HTTPCaller para añadir adjuntos<\/STRONG><\/P>Sí, olvida los scripts python. Para reutilizar el ejemplo con tu propia instancia AGOL, necesitas entender cómo configurar el HTTPCaller, cambiando esos parámetros marcados por las flechas rojas, mostrados abajo.<\/P>HTTPCaller configuration for AddAttachment end point<\/span><\/span>El mejor lugar para aprender a configurar es leyendo la página de ayuda del AddAttachment API<\/A>. Sí, lee la Descripción o como dicen "lee la letra pequeña". Ten en cuenta límites, tamaño, formatos y otra información pertinente. Que sea sin código no significa que sea todo plug and play.<\/P>Aquí está la URL de solicitud: https://<root>/<serviceName>/FeatureServer/<layerId>/<featureId>/addAttachment<\/P>A continuación está lo configurado en la URL de solicitud para este ejemplo descargado:<\/P> <\/P>https://services7.arcgis.com/eeZcUziwi5hzGEGs/ArcGIS/rest/services/r2r/FeatureServer/0/@Value(ID)/AddAttachment<\/code><\/pre> <\/P>El parámetro enlace<\/A>.<\/P>¿Necesito actualizar mis Upgradeable Transformers?<\/STRONG><\/P>Otra nueva característica disponible es la función Upgrade All Transformers. La versión anterior de esta función era actualizar un transformer a la vez. Observa en el panel Navigator abajo que hay 21 transformers que necesitan actualización. Con un clic del botón y siguiendo algunos pasos tu espacio de trabajo se actualiza. También puedes optar por hacer Backup de tu workspace o no.<\/P>Upgrade the transformers on your canvass<\/span><\/span><\/P>Para ejecutar esta nueva solución con éxito no es necesario actualizar estos transformers, pero siempre es buena práctica hacerlo. El ejemplo final abajo tendrá todos estos transformers actualizados a la última y mejor versión.<\/P>Ejecución del workspace<\/STRONG><\/P>La solución está diseñada intencionalmente para ejecutar dos bookmarks por separado. Antes de ejecutar cualquier bookmark asegúrate de habilitar Enable cache.<\/P>Bookmark One crea el servicio de entidades Observations y escribe sus entidades. Ejecutas un bookmark haciendo clic y pasando el cursor sobre la parte superior del bookmark hasta que aparezcan pequeños íconos arriba. Haz clic en el botón Run Just Contained play.<\/P>Bookmark One - Write Observation features<\/span><\/span><\/P> <\/P>Antes de ejecutar Bookmark Two, necesitamos volver a la capa de entidades recién creada en AGOL y hacer clic en el deslizador Enable Attachment para ponerlo en True. Necesitas hacer esto porque el parámetro Enable attachment de la capa de entidades Observations debe estar en True antes de ejecutar Bookmark Two. Dado que la herramienta crea el servicio de entidades en Bookmark One, Enable attachment estará en False por defecto. <\/P>Enable attachments<\/span><\/span><\/P> Con los attachments habilitados, podemos ejecutar Bookmark two para agregar attachments relacionados con la capa de entidades Observations.<\/SPAN><\/P> <\/P>Bookmark two - Upload attachments<\/span><\/span><\/P> <\/P>Nota, que la próxima vez que ejecutes la solución y el Feature Type Handling<\/STRONG> esté configurado como Truncate Existing,<\/EM> Enable Attachment seguirá siendo True.<\/P>Feature Type Handling set to Truncate Existing for future runs<\/span><\/span><\/P> <\/P>En la solución original Enable Attachment se ejecuta con el script Python shutdown. Puedes modificar esta solución para incluir la automatización de Enable Attachment agregando el endpoint UpdateDefinition rest, pero me gustaría mantener esta solución simple y deliberada. <\/P>Dejo la mejora a tu criterio. Si la programación y una sola ejecución encajan en tu flujo de trabajo, probablemente necesitarás la mejora. <\/P>Pista: Si quieres hacer la automatización completa, la imagen abajo será un buen comienzo.<\/P>Adding Enable Attachment to your solution<\/span><\/span> Visualiza tu trabajo<\/SPAN>Mi aplicación preferida para ver los resultados es la plantilla Instant App Attachment Viewer. Como por arte de magia todos mis attachments aparecen en un mapa interactivo y visor de fotos.The results of the solution shown using the Instant App Attachment Viewer template<\/span> Palabra finalAntes de empezar a rastrear tus compartidos de red y discos duros en busca de fotos, ten en cuenta que los attachments tienen costos de almacenamiento en AGOL y sería negligente si no te informo sobre esos costos al hacerlo. Aquí está la guía para entender los créditos AGOL<\ /A >.<\ /p > < p > Aunque existen patrones establecidos para la automatización e integración de datos con attachments, cada solución necesita considerar varios factores. He detallado algunos de estos factores en este artículo. Para geodatabases, la solución original con el script Python Shutdown sigue siendo el mejor enfoque. La solución AGOL es más simple y funciona bien para visualizar datos con attachments. Así que escoge tu condimento y escógelo bien. <\ /p > < p > Eso es todo, puedes empezar a rastrear tus unidades y cargar tus attachments a AGOL. <\ /p >
Elimina el código y aprende a configurar el HTTPCaller para añadir adjuntos<\/STRONG><\/P>Sí, olvida los scripts python. Para reutilizar el ejemplo con tu propia instancia AGOL, necesitas entender cómo configurar el HTTPCaller, cambiando esos parámetros marcados por las flechas rojas, mostrados abajo.<\/P>HTTPCaller configuration for AddAttachment end point<\/span><\/span>El mejor lugar para aprender a configurar es leyendo la página de ayuda del
Aquí está la URL de solicitud: https://<root>/<serviceName>/FeatureServer/<layerId>/<featureId>/addAttachment<\/P>
A continuación está lo configurado en la URL de solicitud para este ejemplo descargado:<\/P>
<\/P>
https://services7.arcgis.com/eeZcUziwi5hzGEGs/ArcGIS/rest/services/r2r/FeatureServer/0/@Value(ID)/AddAttachment<\/code><\/pre> <\/P>El parámetro
¿Necesito actualizar mis Upgradeable Transformers?<\/STRONG><\/P>Otra nueva característica disponible es la función Upgrade All Transformers. La versión anterior de esta función era actualizar un transformer a la vez. Observa en el panel Navigator abajo que hay 21 transformers que necesitan actualización. Con un clic del botón y siguiendo algunos pasos tu espacio de trabajo se actualiza. También puedes optar por hacer Backup de tu workspace o no.<\/P>Upgrade the transformers on your canvass<\/span><\/span><\/P>Para ejecutar esta nueva solución con éxito no es necesario actualizar estos transformers, pero siempre es buena práctica hacerlo. El ejemplo final abajo tendrá todos estos transformers actualizados a la última y mejor versión.<\/P>Ejecución del workspace<\/STRONG><\/P>La solución está diseñada intencionalmente para ejecutar dos bookmarks por separado. Antes de ejecutar cualquier bookmark asegúrate de habilitar Enable cache.<\/P>Bookmark One crea el servicio de entidades Observations y escribe sus entidades. Ejecutas un bookmark haciendo clic y pasando el cursor sobre la parte superior del bookmark hasta que aparezcan pequeños íconos arriba. Haz clic en el botón Run Just Contained play.<\/P>Bookmark One - Write Observation features<\/span><\/span><\/P> <\/P>Antes de ejecutar Bookmark Two, necesitamos volver a la capa de entidades recién creada en AGOL y hacer clic en el deslizador Enable Attachment para ponerlo en True. Necesitas hacer esto porque el parámetro Enable attachment de la capa de entidades Observations debe estar en True antes de ejecutar Bookmark Two. Dado que la herramienta crea el servicio de entidades en Bookmark One, Enable attachment estará en False por defecto. <\/P>Enable attachments<\/span><\/span><\/P> Con los attachments habilitados, podemos ejecutar Bookmark two para agregar attachments relacionados con la capa de entidades Observations.<\/SPAN><\/P> <\/P>Bookmark two - Upload attachments<\/span><\/span><\/P> <\/P>Nota, que la próxima vez que ejecutes la solución y el Feature Type Handling<\/STRONG> esté configurado como Truncate Existing,<\/EM> Enable Attachment seguirá siendo True.<\/P>Feature Type Handling set to Truncate Existing for future runs<\/span><\/span><\/P> <\/P>En la solución original Enable Attachment se ejecuta con el script Python shutdown. Puedes modificar esta solución para incluir la automatización de Enable Attachment agregando el endpoint UpdateDefinition rest, pero me gustaría mantener esta solución simple y deliberada. <\/P>Dejo la mejora a tu criterio. Si la programación y una sola ejecución encajan en tu flujo de trabajo, probablemente necesitarás la mejora. <\/P>Pista: Si quieres hacer la automatización completa, la imagen abajo será un buen comienzo.<\/P>Adding Enable Attachment to your solution<\/span><\/span> Visualiza tu trabajo<\/SPAN>
Mi aplicación preferida para ver los resultados es la plantilla Instant App Attachment Viewer. Como por arte de magia todos mis attachments aparecen en un mapa interactivo y visor de fotos.
The results of the solution shown using the Instant App Attachment Viewer template<\/span>
Palabra final
Antes de empezar a rastrear tus compartidos de red y discos duros en busca de fotos, ten en cuenta que los attachments tienen costos de almacenamiento en AGOL y sería negligente si no te informo sobre esos costos al hacerlo. Aquí está la guía para
This is a great article, thanks to linking on the Safe community!
Great blog, very easy to follow along and replicate! Thanks for sharing.
While working through this, I updated a couple of MIME types that might be helpful for others:
.pdf application/pdf.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.