Skript ein Geoverarbeitungswerkzeug oder Modell aufruft.<\/A><\/P>Wir gehen auch den Weg der Aufgabenplanung, aber ohne Python zu benötigen.<\/P>
<\/P>
In der modernen Ära liegt viel Fokus auf serviceorientierter Architektur und der ArcGIS-Stack verfügt über umfassende Veröffentlichungs- und Synchronisationsfähigkeiten zwischen Apps, aber Sie lesen dies, weil Sie außerhalb des Stacks arbeiten, zumindest an einem Ende Ihres Synchronisations-Workflows. Sie haben die Workbench-App von Data Interoperability verwendet, um Dienste, Datenbanken, Dateien usw. zu bearbeiten und Ihren eigenen privaten Batch-'Service' zu erstellen. Sie müssen nicht der Server sein und auch auf 'Run' klicken. Ihr Freund ist dieser hier:<\/P>
<\/P>
C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\fme.exe<\/STRONG><\/P><\/P>Genau, eine große ausführbare Datei. Dies ist diejenige, die alle Arbeiten erledigt, wenn ein ETL-Werkzeug ausgeführt wird. Vielleicht ist es Ihnen nie aufgefallen, aber wenn Sie ein ETL-Werkzeug ausführen, während Sie in Workbench bearbeiten, erscheint in der Protokollfensterzeile ganz oben: Befehlszeile zum Ausführen dieses Arbeitsbereichs: <\/STRONG><\/SPAN> gefolgt vom Pfad zu unserem neuen Freund oben und dem Pfad zur geöffneten Workbench .fmw-Datei sowie allen Argumenten, die der Arbeitsbereich benötigt. Alles ist da, also lassen Sie uns das zusammenfügen.
<\/SPAN><\/P><\/P>Lassen Sie uns zuerst einige rechtliche Dinge klären. Mit ArcGIS Pro, Enterprise und OnLine leben Sie in einer Welt mit Named User Licensing. Ihr ETL-Werkzeug kann diese Anmeldeinformationen einbetten. Vorausgesetzt, die geplante Aufgabe automatisiert das ETL-Werkzeug auf dem Rechner, den Sie auch interaktiv verwenden würden, sollte es keine Lizenzprobleme geben. Wenn jemand anderes es ausführen muss, sollte er zuerst die Named User-Anmeldeinformationen ersetzen.<\/SPAN><\/P><\/P>Für mein Beispiel werde ich ein
ETL-Werkzeug-Beispiel aus einem früheren Beitrag wiederverwenden<\/A>. Ich verwende es zur Pflege eines gehosteten Feature-Service mit Daten, die von einer Geoserver-Instanz über eine erweiterte WFS-API abgerufen werden. Die offizielle Aktualisierungsrate beträgt einmal pro Woche, jeden Samstag Ortszeit; ich führe das ETL-Werkzeug montagmorgens aus, wenn ich daran denke (hey, es ist nur eine Demo). Lassen Sie uns das automatisieren. Montage werden für mich problematisch, ich könnte es vergessen.
<\/SPAN><\/P><\/P>
Das Beispiel-ETL-Werkzeug gibt die Befehlszeile an, mit der ich den Arbeitsbereich ausführen soll:<\/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>Da ETL-Werkzeuge ihre Parameterwerte speichern, ist es nicht notwendig, diese Argumente anzugeben, wenn sie sich nicht ändern. Daher funktioniert auch Folgendes:<\/SPAN><\/P><\/P>"C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\fme.exe" C:\\Work\\Synchronize\\Synchronize.fmw<\/STRONG>
<\/SPAN><\/P><\/P>Jetzt erstellen wir die geplante Aufgabe. Öffnen Sie den Task Scheduler und füllen Sie die Dialoge für eine Basisaufgabe aus:
<\/SPAN><\/P><\/P>





Passen Sie die Einstellungen nach Bedarf an:

Tipp: &nb sp;if you configure the task exactly as above a command window like below will pop up if you don't want this use the setting 'Run whether user is logged on or not'.
000022373<\/STRONG> welches einen Verweis auf eine alternative Scheduling-Technologie enthält.<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Der neue Ansatz:<\/SPAN><\/STRONG><\/SPAN><\/P>Bitte lesen Sie das Pro 2.5 Hilfethema 'Schedule geoprocessing tools' für Details, ich zeige hier nur die Benutzeroberflächenerfahrung. Ausgehend vom gleichen 'Synchronize' ETL-Tool wie im oben beschriebenen Legacy-Ansatz erstelle ich ein geplantes Tool über die Run-Schaltfläche, hier ist ein Screenshot:<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>
<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Wählen Sie 'Schedule' und Sie erhalten einen Konfigurationsdialog:<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>
<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>Ich richte eine wöchentliche Wiederholung wie im ersten Beispiel ein; um den Wert 'Begin On' zu verfeinern, bietet das Dropdown-Menü einen praktischen Datum-Uhrzeit-Auswähler:<\/SPAN><\/SPAN><\/P><\/SPAN><\/SPAN><\/P>
<\/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 "> Ich bin fertig! Wie einfach ist das! Abgesehen von der offensichtlichen Einfachheit der Einrichtung der Automatisierung sollten Sie beachten, dass das ETL-Tool nur ein Tool ist, es gibt keine besonderen Überlegungen bei der Handhabung eines ETL-Tools im Vergleich zu einem Kern-Geoverarbeitungswerkzeug (oder Modell). Warnhinweis, wenn Sie Concurrent Licensing verwenden und ein Python-Skripttool planen, das Erweiterungen aufruft (zum Beispiel Data Interoperability), dann benötigt Ihr Code einen CheckOutExtension()-Aufruf.
< / EM>Ein feiner Punkt, vergessen Sie nicht, geeignete Energiemanagement-Einstellungen (Festplattenabschaltung, Schlafmodus, Ruhezustand) für Ihren Scheduling-PC zu verwenden. Besprechen Sie dies mit Ihrer IT-Abteilung, wenn Sie Zweifel haben. Zum Beispiel ist es möglich, dass Netzwerkadministratoren Regeln für den Ruhezustand durchsetzen, die die sichtbaren Energieeinstellungen überschreiben.
< / 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 "> Gehen Sie jetzt voran und automatisieren Sie Dinge!< / span > < / span > < / p > < / BODY >< / HTML >