Dit bericht gaat over het benutten van ArcGIS Enterprise 10.8.1 met de ArcGIS Data Interoperability extensie om Spatial ETL webtools binnen uw organisatie te delen. Het 'geavanceerde' aspect is dat we data zullen verplaatsen met een web connection naar een web platform mogelijk gemaakt door een FME package, plus we voegen voor de lol een webhook notificatiestap toe.<\/P>
<\/P>
In mijn on-demand technische workshop voor UC 2020<\/A> heb ik gedemonstreerd hoe je een webtool maakt die een format conversion by web service uitvoert, een klassiek gebruiksgeval voor Data Interoperability gecombineerd met de deelkracht van ArcGIS Enterprise. Data Interoperability is echter geëvolueerd van een formatfabriek naar een generieke oplossing voor no-code integratie over het web, dus in dit bericht zal ik laten zien hoe je een webtool bouwt die niet-native data naar een web platform brengt. Ik lees toevallig Microsoft Access table XY event data en schrijf naar ArcGIS Online hosted features, maar lees tussen de regels door en begrijp dat de data net zo goed naar elk cloudplatform of app kan gaan. In sommige opzichten is het verplaatsen van data naar het web beter geschikt voor Spatial ETL tools omdat FME readers en writers werken met containers of workspaces, bijvoorbeeld een geodatabase, wat geen geldig geoprocessing service output parameter is die aan een client kan worden teruggegeven. Het kan wel, bijvoorbeeld door file geodatabase outputs te zippen, maar als je een web platform beschikbaar hebt, gebruik dat dan, data is nuttiger op het web dan als lokale bestanden.<\/P>
<\/P>
Web tools<\/A> zijn een nieuwe naam voor geoprocessing services. De oorspronkelijke workflow voor het publiceren van geoprocessing services met behulp van een history item en een administratieve verbinding met een standalone server is nog steeds beschikbaar in ArcGIS Pro 2.6, maar ik zal het nieuwe paradigma tonen van het delen van een webtool naar een portal. Je deelt een Spatial ETL tool als een webtool vanuit een history item net als elke andere tool maar met twee speciale overwegingen:<\/P>
<\/P>
- De Spatial ETL bron FME workspace moet embedded zijn, en niet extern aan de tool<\/STRONG><\/LI>
Input parameters moeten worden gedefinieerd als eenvoudige types zoals Filename (Existing), Text of Choice<\/STRONG><\/LI>
<\/UL>
<\/P>
De eerste voorwaarde helpt bij het verpakken van de tool tijdens publicatie, de tweede helpt om het uiteindelijke gedrag van de gepubliceerde toolparameters eenvoudig te houden. Je moet mogelijk je ETL tool herstructureren tijdens het maken om deze vereenvoudigingen te bereiken. Bijvoorbeeld hier laat ik versies zien van een Microsoft Access input parameter vóór en na aanpassing. De standaardconfiguratie staat toe meerdere bestanden te kiezen met veel bestandstype-extensies, mijn gewenste gedrag is één enkel bestand met alleen .mdb en .accdb extensies.<\/P>
<\/P>
Standaard Access Database Reader Parameter<\/STRONG><\/P>
<\/P>
<\/P>
Aangepaste Access Database Reader Parameter<\/STRONG><\/P>
<\/P>
<\/P>
<\/P>
Conceptueel en grafisch is mijn ETL tool eenvoudig. Mijn scenario is dat ik werk voor Fako Mining, die boorgatplanning doen met een Access app en boorgatlocaties registreren als latitude & longitude in een tabel. Klik om de schermafbeelding hieronder uit te vouwen, of bewerk de tool die uit de blogbijlage is gehaald. De datastroom is:<\/P>
<\/P>
Lees een Access database tabel die XY waardevelden bevat<\/STRONG><\/LI>
Schrijf (of vervang) een hosted point feature layer in ArcGIS Online<\/STRONG><\/LI>
Activeer een webhook die een Microsoft Teams kanaal op de hoogte stelt dat de nieuwe data beschikbaar is<\/STRONG><\/LI>
<\/UL>
<\/P>
Er zijn drie bladwijzers in de workspace, in de blauwe wordt elke bestaande feature service verwijderd (ik maak services genoemd naar de verwerkingsdatum), in de groene wordt de Access data gelezen en geconverteerd naar een point feature class in een gezipte file geodatabase, en in de beige wordt de file geodatabase gepubliceerd en gedeeld met een groep en tenslotte wordt de webhook verzonden. Het concept is dat Online leden leden zijn van een Teams kanaal en worden geïnformeerd dat de data beschikbaar is. Terwijl je de workspace inspecteert, denk eens na over hoeveel code dit zou kosten als je het zou scripten...<\/P>
<\/P>
<\/P>
<\/P>
De sleutelcomponent hierin is de
ArcGISOnlineConnector transformer die het werk doet van publiceren en delen van de gezipte file geodatabase. Het is een FME Hub download en moet op de server worden voorzien, plus het gebruikt een web connection die ook op de server moet worden voorzien.<\/P>
<\/P>
Eerst stel je je server in. Installeer en licentieer ArcGIS Data Interoperability for Server, zorg ervoor dat je server gefedereerd is aan je portal, genereer en importeer certificaten voor portal en server enzovoort. Zorg ervoor dat je niet installeert ArcGIS Data Interoperability for Pro op je server, anders krijg je licentie- en toolfouten.<\/P>
<\/P>
Zodra je Data Interoperability hebt geïnstalleerd, log dan in op de server als de ArcGIS Service lokale account gebruiker (standaard genaamd 'arcgis') en bevestig dat je de Workbench app kunt openen op dit pad:<\/P>
<\/P>
C:\\Program Files\\ESRI\\Data Interoperability\\Data Interoperability AO11\\fmeworkbench.exe<\/STRONG><\/P>
<\/P>
Zolang je bent ingelogd op de server als arcgis, maak je een share aan met het onderstaande pad en geef volledige controle aan de domeingebruiker (vermoedelijk jij) die de webtool zal publiceren en eigenaar is van de web connection gebruikt in de ArcGISOnlineConnector.<\/P>
<\/P>
\\\\<machinename>\\Users\\arcgis\\AppData\\Roaming\\Safe Software\\FME<\/STRONG><\/P>
<\/P>
Vanaf de authoring machine en als publicerende auteur open je deze share. Zo ziet het eruit op mijn laptop:<\/P>
<\/P>
<\/P>
<\/P>
Maaak je geen zorgen als jouw bestanden in deze share anders zijn dan die van mij, ze zullen snel overeenkomen.<\/P>
<\/P>
Nu gaan we het FME Package voor ArcGISOnlineConnector en de gebruikte web connection aanleveren aan de server. Download de huidige release van het package naar deze share. Nog steeds vanaf de authoring machine open Workbench en vervolgens het FME Tools dialoogvenster onder Default Paths. Noteer (schrijf op!) de profielmap voor Data Path,, dit is de map waar web connections worden opgeslagen. Je zult deze tijdelijk aanpassen.<\/P>
<\/P>
<\/>\r\
&nbs... Tools>Web Connections<\/STRONG> ziet de webverbinding met ArcGIS Online. Maak een testwerkruimte die een webverbinding maakt en een ArcGISOnlineConnector gebruikt om de inhoud van een inhoudsmap te tonen - de blogdownload bevat een voorbeeld TestWebConnection.fmw<\/STRONG>. Als alles werkt, is de server klaar voor actie!<\/P>
<P> <\/P>
<P>Voer uw Spatial ETL-tool uit als een tool zodat er een geschiedenisitem wordt gemaakt. Klik vervolgens met de rechtermuisknop op het geschiedenisitem en deel het als een webtool. Hier is mijn ervaring:<\/P>
<P> <\/P>
<P><IMG style="display: block; margin-left: auto; margin-right: auto;" class="j-img-centered jive-image image-8" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503874_pastedImage_6.png" border="0" \/><\/P>
<P> <\/P>
<P>>Sta uploads toe, maak het asynchroon, stel het Info</STRONG> berichtniveau in, dit zal berichten over de verwerking van de werkruimte weergeven.</P>
<P> </P>
<P><IMG style="display: block; margin-left: auto; margin-right: auto;" class="image-9 j-img-centered jive-image" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503875_pastedImage_7.png" border="0" \/></P>
<P> </P>
<P>>Vergeet niet om de toolparameter(s) te bewerken - klik op het penpictogram. Mogelijk moet u dit twee keer doen om het te laten 'plakken'.</P>
<P> </P>
<P><IMG style="display: block; margin-left: auto; margin-right: auto;" class="j-img-centered jive-image image-10" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503876_pastedImage_8.png" border="0" \/></P>
<P> </P>
<P>>Het zal analyseren met een waarschuwing, dit is normaal voor Spatial ETL-tools.</P>
<P> </P>
<P><IMG style="display: block; margin-left: auto; margin-right: auto;" class="image-11 j-img-centered jive-image" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503878_pastedImage_9.png" border="0" \/></P>
<P> </P>
<P>>Na publicatie van de webtool opent u het Catalogusvenster bij de portalinhoud en voert u uw tool uit. De mijne geeft een waarschuwing over wat coördinatensysteemverwerking, maar ik neem de overwinning aan. Ontworpen is dat er geen objecten worden weergegeven als uitvoer omdat er geen schrijver in de werkruimte is, mijn gegevens gingen naar ArcGIS Online dankzij de ArcGISOnlineConnector. Het logboek toont dat tussentijdse verwerking werkte zoals verwacht.</P>
<P> </P>
<P>><IMG style="display: block; margin-left: auto; margin-right: auto;" class="image-12 j-img-centered jive-image" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503960_pastedImage_1.png" border="0" \/></P>
<P> </P>
<P>Teams</STRONG> toont mij dat de webhook werd geactiveerd, wat het laatste deel is van de verwerking van de webtool, en het geeft me een service-URL zodat iets</EM> er is.... Bekijk wat er in de HTTPCaller</STRONG> transformer staat om te zien hoe ik een afbeelding in de webhook-payload kreeg (het is een openbaar afbeeldingsitem in Online).</P>
<P> </P>
<P>><IMG style="display: block; margin-left: auto; margin-right: auto;" class="j-img-centered jive-image image-14" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503962_pastedImage_3.png" border="0" \/></P>
<P> </P>
<P>>Bingo, mijn gegevens laden in mijn kaart!</P>
<P> </P>
<P>><IMG style="display: block; margin-left: auto; margin-right: auto;" class="image-13 j-img-centered jive-image" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/503961_pastedImage_2.png" border="0" \/></P>
<p> </p>
Dus dat is de volledige ronde reis, ik heb een webtool die iedereen in mijn organisatie kan gebruiken om gehoste feature layers te publiceren vanuit een Access-databasetabel, met de extra toevoeging van geautomatiseerde meldingen.</p>