Si vous partagez des services d'entités hébergés, éventuellement avec des services enfants comme Map Tile, WFS et OGC, et que vos données sources changent régulièrement, vous voudrez automatiser la mise à jour des données du service sans casser l'identifiant de l'élément ou les éléments de métadonnées afin que les cartes et applications de vos clients continuent de fonctionner. Ce blog montre comment - en utilisant ArcGIS Data Interoperability.<\/P>
Voici d'abord la carte obligatoire de notre zone d'étude et des données, adresses postales en Norvège<\/A> :<\/P>Adresses à Oslo<\/span><\/span><\/P>Pour être clair, je reformule le scénario.<\/P>Vous partagez un service d'entités hébergé qui peut être volumineux<\/LI>Vous pouvez partager des services publiés à partir du service d'entités hébergé<\/LI>Les données sources peuvent ne pas être gérées dans ArcGIS<\/LI>Les données sources changent régulièrement et vous souhaitez appliquer ces changements au(x) service(s)<\/LI>Vous ne voulez pas que les identifiants d'éléments Portal ou Online changent lorsque vous actualisez les données<\/LI>Vous souhaitez automatiser cette maintenance avec un temps d'arrêt minimal<\/LI>Vous ne voulez écrire aucun code<\/LI><\/UL>Il est bien compris que Data Interoperability peut détecter les changements dans les jeux de données et les appliquer à une copie publiée des données. Cela fonctionne bien et permet un temps d'arrêt nul si vous écrivez les changements de manière incrémentale dans un service d'entités. Cependant, lorsque vous traitez des millions d'entités, cela peut prendre du temps, tant pour lire les jeux de données originaux et révisés que pour écrire les transactions de changement. Cela comporte également un risque de rencontrer des problèmes réseau lors de transactions très longues.<\/P>Nous avons besoin d'une option qui remplace simplement les données du service efficacement et rapidement. Cela peut être fait en maintenant une copie en géodatabase fichier des données sources sur votre Portal ou Online et en remplaçant les données du service en utilisant un flux de travail truncate<\/A> et append <\/A>.<\/P>Voici l'outil Data Interoperability qui montre ce modèle.<\/P>Workbench<\/span><\/span><\/P>L'onglet bleu est l'ETL dont vous avez besoin pour mettre vos données en forme finale, dans mon cas je télécharge des données, fais un dédoublonnage et effectue quelques ajustements sur les champs.<\/P>L'onglet vert pâle est l'endroit où j'écris les données dans une géodatabase fichier compressée et écrase un élément géodatabase fichier dans Online. L'onglet beige est là où je tronque ma couche d'entités cible.<\/P>L'onglet vert plus vif est l'étape finale où j'appelle la fonction append qui lit depuis l'élément géodatabase fichier et écrit dans la couche d'entités cible.<\/P>C'est très simple, n'est-ce pas !<\/P>Pour environ 2,7 millions d'entités d'adresses postales et depuis mon réseau domestique, tout le travail, y compris l'attente de la fin de l'opération append asynchrone, prend environ une heure.<\/P>Mais attendez, ce n'est pas tout ! J'ai publié des services Map Tile, WFS et OGC à partir de mon service d'entités cible, voici tout dans mon dossier projet Online :<\/P>Services<\/span><\/span><\/P> <\/P>Les caches pour chaque service enfant prennent quelques minutes supplémentaires pour se rafraîchir mais le processus est automatique (les services Vector Tile nécessitent une reconstruction manuelle du cache depuis la page des paramètres de l'élément).<\/P>Si je faisais cela pour un environnement de production, je déplacerais le traitement vers un serveur Enterprise comme décrit dans ce blog précédent<\/A> et planifierais la tâche pour qu'elle s'exécute la nuit à un intervalle approprié.<\/P>Voilà, actualisation automatisée et efficace en masse des services d'entités hébergés et leurs produits dérivés. L'outil que je décris est dans le téléchargement du blog, amusez-vous bien !<\/P>Note pour les utilisateurs Enterprise :<\/STRONG> Actuellement ArcGIS Enterprise ne supporte pas la géodatabase fichier (filegdb) comme format append, vous devez utiliser shapefile (ou Excel ou CSV si vous travaillez avec des tables). Pour append des shapefiles il est probable que vous deviez spécifier un dictionnaire fieldMappings dans le paramètre layerMappings pour mapper les noms de champs dans votre shapefile au service d'entités cible.<\/P>
Adresses à Oslo<\/span><\/span><\/P>Pour être clair, je reformule le scénario.<\/P>Vous partagez un service d'entités hébergé qui peut être volumineux<\/LI>Vous pouvez partager des services publiés à partir du service d'entités hébergé<\/LI>Les données sources peuvent ne pas être gérées dans ArcGIS<\/LI>Les données sources changent régulièrement et vous souhaitez appliquer ces changements au(x) service(s)<\/LI>Vous ne voulez pas que les identifiants d'éléments Portal ou Online changent lorsque vous actualisez les données<\/LI>Vous souhaitez automatiser cette maintenance avec un temps d'arrêt minimal<\/LI>Vous ne voulez écrire aucun code<\/LI><\/UL>Il est bien compris que Data Interoperability peut détecter les changements dans les jeux de données et les appliquer à une copie publiée des données. Cela fonctionne bien et permet un temps d'arrêt nul si vous écrivez les changements de manière incrémentale dans un service d'entités. Cependant, lorsque vous traitez des millions d'entités, cela peut prendre du temps, tant pour lire les jeux de données originaux et révisés que pour écrire les transactions de changement. Cela comporte également un risque de rencontrer des problèmes réseau lors de transactions très longues.<\/P>Nous avons besoin d'une option qui remplace simplement les données du service efficacement et rapidement. Cela peut être fait en maintenant une copie en géodatabase fichier des données sources sur votre Portal ou Online et en remplaçant les données du service en utilisant un flux de travail
Voici l'outil Data Interoperability qui montre ce modèle.<\/P>
Workbench<\/span><\/span><\/P>L'onglet bleu est l'ETL dont vous avez besoin pour mettre vos données en forme finale, dans mon cas je télécharge des données, fais un dédoublonnage et effectue quelques ajustements sur les champs.<\/P>L'onglet vert pâle est l'endroit où j'écris les données dans une géodatabase fichier compressée et écrase un élément géodatabase fichier dans Online. L'onglet beige est là où je tronque ma couche d'entités cible.<\/P>L'onglet vert plus vif est l'étape finale où j'appelle la fonction append qui lit depuis l'élément géodatabase fichier et écrit dans la couche d'entités cible.<\/P>C'est très simple, n'est-ce pas !<\/P>Pour environ 2,7 millions d'entités d'adresses postales et depuis mon réseau domestique, tout le travail, y compris l'attente de la fin de l'opération append asynchrone, prend environ une heure.<\/P>Mais attendez, ce n'est pas tout ! J'ai publié des services Map Tile, WFS et OGC à partir de mon service d'entités cible, voici tout dans mon dossier projet Online :<\/P>Services<\/span><\/span><\/P> <\/P>Les caches pour chaque service enfant prennent quelques minutes supplémentaires pour se rafraîchir mais le processus est automatique (les services Vector Tile nécessitent une reconstruction manuelle du cache depuis la page des paramètres de l'élément).<\/P>Si je faisais cela pour un environnement de production, je déplacerais le traitement vers un serveur Enterprise comme décrit dans
Voilà, actualisation automatisée et efficace en masse des services d'entités hébergés et leurs produits dérivés. L'outil que je décris est dans le téléchargement du blog, amusez-vous bien !<\/P>
Note pour les utilisateurs Enterprise :<\/STRONG> Actuellement ArcGIS Enterprise ne supporte pas la géodatabase fichier (filegdb) comme format append, vous devez utiliser shapefile (ou Excel ou CSV si vous travaillez avec des tables). Pour append des shapefiles il est probable que vous deviez spécifier un dictionnaire fieldMappings dans le paramètre layerMappings pour mapper les noms de champs dans votre shapefile au service d'entités cible.<\/P>
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.