<\/HEAD>
Tento příspěvek je o automatizaci opakujících se ETL procesů přímo z vašeho desktopu. Žádný kód, žádný server.<\/STRONG><\/P><\/P>Poznámka:<\/STRONG> Tento příspěvek původně pojednával pouze o jednom způsobu plánování ETL zpracování, ale s vydáním ArcGIS Pro 2.5<\/STRONG>, které brzy vyjde, přichází plánování úloh přímo do Desktop geoprocessingu z tlačítka Spustit u jakéhokoliv nástroje! Podrobnosti o 'legacy' přístupu nechám v příspěvku, ale určitě si přečtěte i o 'novém' přístupu, jakmile budete moci nasadit Pro 2.5.<\/EM><\/P><\/P>Legacy přístup:<\/STRONG><\/P>Vidíme mnoho lidí, kteří používají Data Interoperability k periodické synchronizaci datových sad mezi systémy evidence. Obvykle je spouštěč aktualizace zdrojových dat řízen rozvrhem a ne nějakou náhodnou událostí, a frekvence aktualizací je založena na násobcích pracovního dne. Pokud jste na takovémto běhounu, tento příspěvek je pro vás!<\/P><\/P>Možná jste slyšeli o takové automatizaci v kontextu Windows Task Scheduler s Python skriptem jako úlohou a skriptem volajícím geoprocessingový nástroj nebo model.<\/A><\/P>My také jdeme cestou plánování úloh, ale bez potřeby Pythonu.<\/P>
<\/P>
V moderní době je kladen velký důraz na architekturu orientovanou na služby a ArcGIS stack má komplexní možnosti publikace a synchronizace mezi aplikacemi, ale čtete to proto, že pracujete mimo stack, alespoň na jednom konci vašeho synchronizačního workflow. Použili jste aplikaci Data Interoperability Workbench k manipulaci se službami, databázemi, soubory a podobně, abyste dosáhli svého vlastního soukromého dávkového 'servisu'. Nemusíte být serverem a také kliknout na 'Spustit'. Vaším přítelem je tento chlapík:<\/P>
<\/P>
C:\Program Files\ArcGIS\Data Interoperability for ArcGIS Pro\fme.exe<\/STRONG><\/P><\/P>To je pravda, velký tlustý spustitelný soubor. Tento dělá veškerou práci, když ETL nástroj běží. Možná jste si toho nikdy nevšimli, ale když spustíte ETL nástroj při editaci ve Workbench, první řádek, který se objeví v logovacím okně je: Příkazový řádek pro spuštění tohoto workspace: <\/STRONG><\/SPAN> následovaný cestou k našemu novému příteli výše a cestou k otevřenému .fmw souboru workspace a jakýmikoli argumenty, které workspace potřebuje. Všechno tam je, tak to spojme dohromady.
<\/SPAN><\/P><\/P>Nejprve si ujasněme některé právní záležitosti. S ArcGIS Pro, Enterprise a OnLine žijete ve světě licencování pojmenovaných uživatelů. Váš ETL nástroj může tyto přihlašovací údaje vložit. Za předpokladu, že naplánovaná úloha, kterou vytvoříte, automatizuje ETL nástroj na stroji, který byste použili k jeho interaktivnímu spuštění, by neměly nastat žádné licenční problémy. Pokud někdo jiný potřebuje nástroj spustit, měl by nejprve nahradit přihlašovací údaje pojmenovaného uživatele.<\/SPAN><\/P><\/P>Pro můj příklad znovu použiji
příklad ETL nástroje z dřívějšího příspěvku<\/A>. Používám ho k udržování hostované feature služby pomocí dat získaných z instance Geoserver přes rozšířené WFS API. Má oficiální obnovovací frekvenci jednou týdně, každou sobotu místního času; ETL nástroj spouštím když si vzpomenu v pondělí ráno (hej, je to jen demo). Pojďme to automatizovat. Pondělky jsou pro mě problematické, mohu zapomenout.
<\/SPAN><\/P><\/P>
Ukazuje mi příkazový řádek, který bych měl použít ke spuštění workspace:<\/SPAN><\/P><\/P>"C:\Program Files\ArcGIS\Data Interoperability for ArcGIS Pro\fme.exe" C:\Work\Synchronize\Synchronize.fmw --API_Key "im_not_telling_you_my_api_key" --LDS_Unique_ID "address_id"<\/SPAN><\/P><\/P>Protože ETL nástroje ukládají své hodnoty parametrů není nutné tyto argumenty dodávat pokud se nemění, takže funguje i toto:<\/SPAN><\/P><\/P>"C:\Program Files\ArcGIS\Data Interoperability for ArcGIS Pro\fme.exe" C:\Work\Synchronize\Synchronize.fmw<\/STRONG>
<\/SPAN><\/P><\/P>Nyní vytvoříme naplánovanou úlohu. Otevřete Task Scheduler a vyplňte dialogy pro Základní úlohu:
<\/SPAN><\/P><\/P>





Upravte nastavení podle potřeby:

Tip:  Pokud nakonfigurujete úlohu přesně podle výše uvedeného vyskočí okno příkazového řádku jako níže. Pokud toto nechcete použijte nastavení „Spustit bez ohledu na to zda je uživatel přihlášen či nikoliv“.

Když už jsem u toho, pokud máte zájem o další způsoby dávkového zpracování ETL
podívejte se na tento příspěvek.
Teď udělejte svůj díl práce a přijďte pozdě v pondělí!< / span ></ p > < p > < / p > < p >< span >< STRONG > Poznámka:< / STRONG >& nbsp ; Dostali jsme zprávy z praxe , že Windows Task Scheduler může být omezen některými bezpečnostními nastaveními systému . & nbsp ; Pokud toto zjistíte a nemůžete to obejít s vaší IT podporou , založte podporu u Esri a požádejte analytika , aby konzultoval < STRONG >Analyst Článek znalostí <\/STRONG>000022373<\/STRONG>, který obsahuje odkaz na alternativní technologii plánování.<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Nový přístup:<\/SPAN><\/STRONG><\/SPAN><\/P>Prosím, přečtěte si téma nápovědy Pro 2.5 'Schedule geoprocessing tools' pro podrobnosti, zde ukážu pouze uživatelský zážitek z rozhraní. Začínaje stejným nástrojem ETL 'Synchronize' jako v dříve uvedeném starším přístupu, vytvořím naplánovaný nástroj z tlačítka Run, zde je snímek obrazovky:<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>
<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Vyberte 'Schedule' a zobrazí se konfigurační dialog:<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>
<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Nastavil jsem týdenní opakování jako v prvním příkladu; pro upřesnění hodnoty 'Begin On' poskytuje rozbalovací nabídka praktický výběr data a času:<\/SPAN><\/SPAN><\/P> < / SPAN > < / SPAN > < / P > < P style = " - qt - block - indent : 0 ; text - indent : 0 px ; margin : 0 px ; " > < SPAN style = " color :#000000;background-color:#ffffff ; " > < SPAN class = " "data - aura - class = " uiOutputText "data - aura - rendered - by = "10988 : 0 "> < IMG __jive_id = "478068 "class = " image -12 j-img-centered jive-image "src = "https : //us.v-cdn.net/6038851/uploads/legacyfs/online/478068_pastedImage_16.png "style = " display : block ; margin-left : auto ; margin-right : auto ; " / > < / SPAN > < / SPAN > < / P > < P style = " - qt - block - indent : 0 ; text - indent : 0 px ; margin : 0 px ; " > < SPAN style = " color :#000000;background-color:#ffffff ; " > < SPAN class = " "data - aura - class = " uiOutputText "data - aura - rendered - by = "10988 : 0 "> < / SPAN > < / SPAN > < / P > < P style = " - qt - block - indent : 0 ; text - indent : 0 px ; margin : 0 px ; " > < SPAN style = " color :#000000;background-color:#ffffff ; " > < SPAN class = " "data - aura - class = " uiOutputText "data - aura - rendered - by = "10988 : 0 "> < IMG __jive_id = "478067 "class = " image -11 j-img-centered jive-image "src = "https : //us.v-cdn.net/6038851/uploads/legacyfs/online/478067_pastedImage_14.png "style = " display : block ; margin-left : auto ; margin-right : auto ; "/> < / SPAN > < / SPAN > < / P > < P style = " - qt - block - indent : 0 ; text - indent : 0 px ; margin : 0 px ; "> < SPAN style = " color :#000000;background-color:#ffffff ; "> < SPAN class = " "data - aura - class = " uiOutputText "data - aura - rendered - by = "10988 : 0 "> Hotovo! Jak jednoduché to je! Kromě zjevné snadnosti nastavení automatizace byste měli vzít na vědomí, že nástroj ETL je jen nástroj, neexistují žádná zvláštní opatření ohledně zacházení s nástrojem ETL oproti základnímu geoprocesnímu nástroji (nebo modelu). Upozornění, pokud používáte současné licencování a plánujete Python skriptový nástroj, který volá jakékoli rozšíření (například Data Interoperability), pak váš kód bude potřebovat volání CheckOutExtension().
Důležitý detail, nezapomeňte použít vhodná nastavení správy napájení (vypnutí disku, spánek, hibernace) pro váš plánovací počítač, prodiskutujte to s vašimi IT specialisty, pokud máte pochybnosti, například je možné, že správci sítě vynucují pravidla pro hibernaci, která přepisují viditelná nastavení napájení.
'
'Nyní pokračujte a automatizujte věci!