|
|
Automatischer Datenabgleich / zeitgesteuerter Import
Eine häufige Anforderung ist es, regelmäßig neu vorliegende Daten mit einem eigenen Datenbestand abzugleichen. Diese Software kann dazu genutzt werden, solche wiederkehrende Datenimporte automatisch durchzuführen. Dabei wird eine URL ("Seite") des Systems einfach mit entsprechenden HTTP-Parametern aufgerufen. Die Antwort des Systems kann in diesem Fall auch in Form einer Textausgabe geschehen.
|
Grundsätzliches
Voraussetzung für einen erfolgreichen automatischen Datenimport ist eine dem Importdaten entsprechende Filterdatei. Diese kann wie bei einem einmaligen "manuellen" Import auch, einfach über das System erzeugt und gespeichert werden.
Die automatischen Importläufe erfolgen durch den Aufruf der Seite "import.php". Der Import wird dabei durch verschiedene URL-Parameter konfiguriert. Die zu setzenden Parameter werden im nächsten Abschnitt erläutert.
Um den Seitenaufruf zeitgesteuert erfolgen zu lassen bietet sich ein Cron-Job an, in welchem per "wget" die Adresse geladen wird. Die Ausgabe des Scriptes kann zur maschinellen Auswertung in Textform erfolgen.
Die zu importierenden Daten können als lokale Datei vorliegen oder auch direkt per URL-Parameter übermittelt werden.
Die Aufrufparameter
- output_messages_only
- "1" - Statt HTML erfolgt die Rückgabe als Text
- import_filter_name
- Name der zu verwendenden Filterdatei
- import_csv_with_header
- "1" - Die erste Zeile der CSV-Datei ist eine Kopfzeile, welche keinen zu importierenden Datensatz enthält
- import_do_update
- "1" - bestehende Datensätze werden mit den importierten Daten aktualisiert. Es werden keine neuen Datensätze angelegt.
- import_do_insert
- "1" - neue Datensätze werden angelegt
- display_csv
- "1" - wenn als Rückgabeformat HTML gewählt wurde, werden die verarbeitenden CSV-Daten im der zurückgegebenen HTML_Seite angezeibgt (siehe auch Parameter "output_messages_only")
- preview_filtered_only
- "1" - der Import wird nur testweise durchgeführt. Die Daten in der Datenbank werden dabei nicht geändert.
- import_csv_separator
- Das Separator-Zeichen des zu verwendenten CSV-Formates. Ist dieser Parameter nicht gegeben, wird das Standardzeichen aus der Grundkonfiguration des Systems verwendet.
- local-csv-file
- Lokaler Dateipfad einer zu importierenden CSV-Datei
- csv-data
- Die zu importierenden CSV-Daten (wenn keine lokale Datei importiert werden soll -> siehe Parameter "local-csv-file")
Beispiel für einen Aufruf
Dieser Aufruf aktualisiert die Datenbank mit den Daten aus der lokalen Datei "/importdata/current.csv" mit dem Filter "default.php". Die Ausgabe erfolgt in Textform:
import.php?output_messages_only=1&import_filter_name=default.php&import_csv_with_header=1&import_do_update=1&import_do_insert=0&import_csv_separator=%3B&local-csv-file=%2Fimportdata%2Fcurrent.csv
|
|
|