Zum Hauptinhalt springen

Datenupload und -download für windows-basierte Systeme

Überblick

Sie erhalten von Ihrem Tacto-Ansprechpartner genau ein Skript: Tacto_<Ihr-Kürzel>_Azure_Script.bat. Es deckt beide Richtungen des Datenaustauschs ab:

  • Upload: Ihre ERP-Exportdateien und – falls vereinbart – Zeichnungen werden in die Tacto-Cloud übertragen.

  • Download: Von Tacto bereitgestellte Exportdateien werden auf Ihr System geholt.

Alle Kunden erhalten dasselbe, vollständige Skript – auch wenn zunächst nur eine Richtung genutzt wird. Sie müssen das Skript dafür nicht anpassen und keine Schritte auskommentieren. Ein Schritt, der für Sie noch nicht eingerichtet ist, meldet im Protokoll lediglich, dass es nichts zu tun gibt, und der Lauf gilt weiterhin als erfolgreich. Sobald Tacto eine weitere Richtung für Sie freischaltet, greift Ihr bestehendes Skript automatisch.

Schritt 1: Voraussetzungen

Bitte installieren Sie das folgende Programm und fügen Sie es zu Ihrem System-PATH hinzu.

Tool

Version

Befehl

>= 10.20.1

azcopy --version

Hinzufügen von Systemumgebungsvariablen zum PATH

Der PATH ist eine wichtige Umgebungsvariable und enthält eine Liste von Ordnern / Verzeichnissen, in denen das System nach ausführbaren Programmen sucht. Damit AzCopy über das Terminal ausgeführt werden kann, muss die ausführbare Datei in einem der im PATH gelisteten Ordner abgelegt sein.

  1. Überprüfen Sie: Wird das Programm bereits im Terminal erkannt?

    where azcopy

    Ist dies nicht der Fall, wird folgende Information angezeigt:

    INFORMATION: Es konnten keine Dateien mit dem angegebenen Muster gefunden werden
  2. Identifizieren des Verzeichnisses: Bestimmen Sie den Pfad zum Verzeichnis, in dem die Ausführungsdatei azcopy.exe enthalten ist, und kopieren Sie diesen. Beispiel: C:\tacto\azcopy_folder

  3. Öffnen Sie die Systemeigenschaften: Geben Sie im Suchfeld neben „Start“ auf der Taskleiste Systemumgebungsvariablen bearbeiten ein. Wählen Sie das Programm aus der Ergebnisliste aus.

  4. Umgebungsvariablen öffnen: Im Fenster für Systemeigenschaften klicken Sie auf die Schaltfläche „Umgebungsvariablen“.

  5. Systemumgebungsvariablen bearbeiten: In den Umgebungsvariablen finden Sie den Abschnitt „Benutzervariablen“. Suchen Sie die Variable „Path“, markieren Sie sie und klicken Sie auf „Bearbeiten“.

  6. Neues Verzeichnis hinzufügen: Im Fenster „Umgebungsvariablen bearbeiten“ klicken Sie auf „Neu“ und fügen dann den Verzeichnispfad hinzu, den Sie im vorherigen Schritt kopiert haben. Bestätigen Sie mit „OK“.

  7. Überprüfen: Öffnen Sie ein neues Terminal und geben Sie ein:

    echo %PATH%

    Sie sehen den aktualisierten PATH mit dem hinzugefügten Verzeichnis, welches jetzt dauerhaft verfügbar ist. Bei erneutem Ausführen von where azcopy sollte AzCopy nun erkannt und der Installationspfad angezeigt werden.

Schritt 2: Ordnerstruktur aufsetzen

  1. Erstellen Sie einen Ordner „tacto“ innerhalb Ihres Benutzerverzeichnisses. Den Pfad zu Ihrem Benutzerverzeichnis können Sie mit folgendem Befehl im Terminal herausfinden; auf dieser Ebene sollte der Ordner „tacto“ erstellt werden.

    echo %userprofile%

    Bsp.: C:\Users\<Ihr Benutzername>\tacto

  2. Erstellen Sie innerhalb des Ordners „tacto“ einen weiteren Ordner „skript“ und speichern Sie das erhaltene Batch-Skript dort ab. Bsp.: C:\Users\<Ihr Benutzername>\tacto\skript\Tacto_<Ihr-Kürzel>_Azure_Script.bat

  3. Alle übrigen Ordner legt das Skript beim ersten Lauf selbst an, Sie müssen dafür nichts vorbereiten:

Ordner unterhalb von tacto\

Zweck

data-export\

Sie legen hier ab: die CSV-Dateien aus Ihrem ERP für Tacto

drawings\files\

Sie legen hier ab: die Zeichnungsdateien

drawings\metadata\

Sie legen hier ab: die Metadaten zu den Zeichnungen

export\

Das Skript legt hier ab: die von Tacto bereitgestellten Exportdateien

uploaded-files\<Datum>\

lokale Kopie der bereits hochgeladenen CSV-Dateien

uploaded-drawings\<Datum>\files\

lokale Kopie der bereits hochgeladenen Zeichnungen

uploaded-drawings\<Datum>\metadata\

lokale Kopie der Metadaten der bereits hochgeladenen Zeichnungen

logs\scheduled-task.log

Protokoll jedes Laufs

So verhält sich das Skript mit Ihren Dateien:

  • Upload: Erfolgreich übertragene Dateien werden aus data-export bzw. drawings entfernt und nach uploaded-files / uploaded-drawings verschoben. Der Eingangsordner enthält also immer nur das, was noch nicht bei Tacto ist. Dateien, die während eines laufenden Uploads dazukommen, bleiben liegen und gehen beim nächsten Lauf mit.

  • Download: Heruntergeladene Dateien werden in der Tacto-Cloud in ein Archiv verschoben und aus dem Hauptordner entfernt. Jede Datei wird somit genau einmal ausgeliefert. Verarbeiten Sie die Dateien in tacto\export daher, bevor Sie sie verschieben oder löschen. Je Exportstrecke legt das Skript einen eigenen Unterordner an.

Wichtig ❗

Wenn Sie einen anderen Speicherort verwenden möchten, ändern Sie im Skript ausschließlich den Wert von TACTO_ROOT im Abschnitt „only modify values below“ – alle Unterordner und die Logdatei ziehen automatisch mit. Die Werte im Abschnitt SETTINGS am Anfang des Skripts (APP_ID, CLIENT_SECRET, TENANT_ID, DESTINATION_FOLDER, LOCAL_EXPORT_ROOT) dürfen nicht verändert werden.

Schritt 3: Die Betriebsarten des Skripts

Das Skript nimmt optional einen Modus als Argument entgegen:

Tacto_<Ihr-Kürzel>_Azure_Script.bat [MODUS]

Modus

Was passiert

standard

lädt die Dateien aus %USERPROFILE%\tacto\data-export hoch

drawings

lädt %USERPROFILE%\tacto\drawings\files und %USERPROFILE%\tacto\drawings\metadata hoch

export

lädt alle für Sie bereitgestellten Exportdateien nach %USERPROFILE%\tacto\export herunter

all

führt alle oben genannten Schritte nacheinander aus

Ohne Argument läuft all. Das ist auch unsere Empfehlung, selbst wenn Sie aktuell nur eine Richtung nutzen: Nicht eingerichtete Schritte überspringt das Skript folgenlos. Einzelne Modi sind nur dann sinnvoll, wenn Sie bewusst unterschiedliche Zeitpläne brauchen – etwa einen täglichen Lauf für standard und einen seltenen für drawings.

Schritt 4: Erster Testlauf

Führen Sie das Skript einmal manuell per Doppelklick oder über das Terminal aus. Dabei legt es alle Ordner aus Schritt 2 an. Anschließend können Sie Ihr erstes Bündel an Exportdateien in tacto\data-export ablegen und das Skript ein zweites Mal starten. Eine erfolgreiche Ausgabe sieht zum Beispiel so aus:

INFO: Authentication successfulINFO: Starting standard files uploadINFO: standard files upload successfulINFO: Starting drawing files uploadINFO: No drawing files to upload, skippingINFO: No export queues found under <Ihr-Kürzel>/export

Zeilen wie „No … to upload, skipping“ oder „No export queues found under …“ sind kein Fehler. Sie bedeuten nur, dass für diesen Schritt nichts anliegt oder er für Sie noch nicht eingerichtet ist.

Echte Fehler beginnen immer mit ERROR:, erscheinen im Fenster und stehen zusätzlich in tacto\logs\scheduled-task.log.

Schritt 5: Planung des automatisierten Datentransfers mit der Windows Aufgabenplanung

Für die Automatisierung wird die Windows Aufgabenplanung (Task Scheduler) verwendet.

  1. Öffnen Sie die Aufgabenplanung und klicken Sie unter „Aktion“ auf „Aufgabe erstellen“ (Create Task).

  2. Geben Sie einen Namen und eine Beschreibung für die Aufgabe ein.

  3. Wählen Sie die Registerkarte „Trigger“ (Triggers) und fügen Sie einen neuen Auslöser hinzu.

    1. Wählen Sie „Nach einem Zeitplan“ (On a schedule) und geben Sie einen Zeitplan ein.

    2. Der Zeitplan sollte hinter dem mit Tacto vereinbarten Bereitstellungszeitpunkt liegen.

  4. Wählen Sie die Registerkarte „Aktionen“ (Actions) und fügen Sie eine neue Aktion hinzu.

    1. Wählen Sie „Programm starten“ (Start a program) und geben Sie den Pfad zur Skriptdatei ein. Bsp.: C:\Users\<Ihr Benutzername>\tacto\skript\Tacto_<Ihr-Kürzel>_Azure_Script.bat

    2. Das Feld „Argumente hinzufügen“ (Add arguments) bleibt leer, wenn bei jedem Lauf alle Schritte ausgeführt werden sollen. Nur für getrennte Zeitpläne tragen Sie hier einen Modus aus Schritt 3 ein.

  5. Wählen Sie die Registerkarte „Einstellungen“ (Settings) und setzen Sie „Falls die Aufgabe bereits ausgeführt wird“ auf „Keine neue Instanz starten“ (Do not start a new instance). So können sich zwei Läufe bei großen Datenmengen nicht überschneiden.

  6. Klicken Sie auf „OK“, um die Aufgabe zu speichern.

Hinweis zum Benutzerkontext ❗ Wenn Sie die Aufgabe mit der Option „Unabhängig von der Benutzeranmeldung ausführen“ unter einem technischen Konto laufen lassen, zeigt %USERPROFILE% auf das Profil dieses Kontos. Die Dateien landen dann nicht im erwarteten Ordner. Tragen Sie in diesem Fall bei TACTO_ROOT einen absoluten Pfad ein, zum Beispiel D:\tacto.

🏁 Damit haben Sie den automatischen Datenaustausch mit der Tacto-Cloud erfolgreich eingerichtet!

Überwachung des Tasks

Bevor Sie den Task überwachen können, stellen Sie sicher, dass die Task-Historie aktiviert wurde. Dies geht über einen Rechtsklick auf die Aufgabenplanungsbibliothek (Task Scheduler Library). Dort kann die Aufgabenhistorie für alle Tasks aktiviert werden.

  1. Öffnen Sie die Aufgabenplanung und suchen Sie den Task in der Liste der geplanten Tasks.

  2. Klicken Sie doppelt auf die Aufgabe, um ihre Eigenschaften zu öffnen.

  3. Überprüfen Sie die Registerkarte „Verlauf“ (History). Die Spalte „Vorgangscode“ (Operational Code) gibt Auskunft, ob der Task erfolgreich ausgeführt wurde.

  4. Zusätzlich können Sie die Registerkarten „Bedingungen“ (Conditions), „Einstellungen“ (Settings) und „Aktionen“ (Actions) prüfen.

Ergänzend enthält tacto\logs\scheduled-task.log das Protokoll jedes Laufs, inklusive des verwendeten Modus. Bei Problemen schicken Sie diese Datei bitte an Ihren Tacto-Ansprechpartner.

Hat dies deine Frage beantwortet?