automaton angepasst, sodass er erfolgreich hochgeladene Dateien vom SFTP löscht
This commit is contained in:
@@ -14,4 +14,6 @@
|
|||||||
# Docker push image to OCI
|
# Docker push image to OCI
|
||||||
|
|
||||||
|
|
||||||
- run .
|
- cd docker
|
||||||
|
- open .env and increase version number in "IMAGE_TAG=..."-variable
|
||||||
|
- run ./build.sh
|
||||||
|
|||||||
@@ -131,11 +131,11 @@ public class FileProcessingPipeline {
|
|||||||
Log.info("Starte OCI-Upload");
|
Log.info("Starte OCI-Upload");
|
||||||
ociUploadService.uploadFiles(context);
|
ociUploadService.uploadFiles(context);
|
||||||
|
|
||||||
// --- SFTP Rename → .processed ---
|
// --- SFTP Delete ---
|
||||||
// Erst nach erfolgreichem Datei-Upload — Marker kommt danach,
|
// Erst nach erfolgreichem Datei-Upload — Marker kommt danach,
|
||||||
// damit Marker-Präsenz in OCI ↔ ZIP bereits .processed auf SFTP.
|
// damit Marker-Präsenz in OCI ↔ ZIP bereits vom SFTP gelöscht ist.
|
||||||
MDC.put("step", "sftp-rename");
|
MDC.put("step", "sftp-delete");
|
||||||
sftpService.renameFile(zipFilename, zipFilename + ".processed");
|
sftpService.deleteFile(zipFilename);
|
||||||
|
|
||||||
// --- OCI Marker ---
|
// --- OCI Marker ---
|
||||||
// Signalisiert der DB-Verarbeitung, dass der Batch vollständig hochgeladen ist.
|
// Signalisiert der DB-Verarbeitung, dass der Batch vollständig hochgeladen ist.
|
||||||
|
|||||||
@@ -112,10 +112,10 @@ public class SftpService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Benennt eine Datei auf dem Remote-SFTP-Server um.
|
* Benennt eine Datei auf dem Remote-SFTP-Server um.
|
||||||
* Wird nach Erfolg ({@code .processed}) oder Fehler ({@code .error}) aufgerufen.
|
* Wird nach Fehler ({@code .error}) aufgerufen.
|
||||||
*
|
*
|
||||||
* @param filename aktueller Dateiname, z.B. {@code export_2026-04-08.zip}
|
* @param filename aktueller Dateiname, z.B. {@code export_2026-04-08.zip}
|
||||||
* @param newFilename neuer Dateiname, z.B. {@code export_2026-04-08.zip.processed}
|
* @param newFilename neuer Dateiname, z.B. {@code export_2026-04-08.zip.error}
|
||||||
* @throws SftpException bei Verbindungs- oder Umbenennfehler
|
* @throws SftpException bei Verbindungs- oder Umbenennfehler
|
||||||
*/
|
*/
|
||||||
public void renameFile(String filename, String newFilename) throws SftpException {
|
public void renameFile(String filename, String newFilename) throws SftpException {
|
||||||
@@ -129,4 +129,20 @@ public class SftpService {
|
|||||||
});
|
});
|
||||||
Log.infof("SFTP Rename erfolgreich: '%s'", newFilename);
|
Log.infof("SFTP Rename erfolgreich: '%s'", newFilename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Löscht eine Datei auf dem Remote-SFTP-Server.
|
||||||
|
* Wird nach erfolgreichem Verarbeiten aufgerufen.
|
||||||
|
*
|
||||||
|
* @param filename Dateiname, z.B. {@code export_2026-04-08.zip}
|
||||||
|
* @throws SftpException bei Verbindungs- oder Löschfehler
|
||||||
|
*/
|
||||||
|
public void deleteFile(String filename) throws SftpException {
|
||||||
|
Log.infof("SFTP Delete: '%s'", filename);
|
||||||
|
withSftp(sftp -> {
|
||||||
|
sftp.rm(config.remotePath() + "/" + filename);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
Log.infof("SFTP Delete erfolgreich: '%s'", filename);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ galabau.sftp.password=${GALABAU_SFTP_PASSWORD:}
|
|||||||
# Fingerprint auf host: ssh-keyscan <host> | ssh-keygen -lf -
|
# Fingerprint auf host: ssh-keyscan <host> | ssh-keygen -lf -
|
||||||
galabau.sftp.host-key-fingerprint=${GALABAU_SFTP_HOST_KEY_FINGERPRINT:SHA256:xyz}
|
galabau.sftp.host-key-fingerprint=${GALABAU_SFTP_HOST_KEY_FINGERPRINT:SHA256:xyz}
|
||||||
# Verzeichnis auf dem SFTP-Server, in dem der Lieferant ZIP-Dateien ablegt
|
# Verzeichnis auf dem SFTP-Server, in dem der Lieferant ZIP-Dateien ablegt
|
||||||
galabau.sftp.remote-path=${GALABAU_SFTP_REMOTE_PATH:/bundesagenturfuerarbeit/austausch/test/galaeingang}
|
galabau.sftp.remote-path=${GALABAU_SFTP_REMOTE_PATH:/bundesagenturfuerarbeit/austausch/dev/galaeingang}
|
||||||
# Temporäres lokales Verzeichnis für Download + Entpacken — wird nach jeder ZIP bereinigt
|
# Temporäres lokales Verzeichnis für Download + Entpacken — wird nach jeder ZIP bereinigt
|
||||||
galabau.sftp.local-work-dir=/tmp/sftp-work
|
galabau.sftp.local-work-dir=/tmp/sftp-work
|
||||||
# galabau.sftp.private-key-path=/etc/secrets/sftp-key
|
# galabau.sftp.private-key-path=/etc/secrets/sftp-key
|
||||||
|
|||||||
Reference in New Issue
Block a user