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
|
||||
|
||||
|
||||
- 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");
|
||||
ociUploadService.uploadFiles(context);
|
||||
|
||||
// --- SFTP Rename → .processed ---
|
||||
// --- SFTP Delete ---
|
||||
// Erst nach erfolgreichem Datei-Upload — Marker kommt danach,
|
||||
// damit Marker-Präsenz in OCI ↔ ZIP bereits .processed auf SFTP.
|
||||
MDC.put("step", "sftp-rename");
|
||||
sftpService.renameFile(zipFilename, zipFilename + ".processed");
|
||||
// damit Marker-Präsenz in OCI ↔ ZIP bereits vom SFTP gelöscht ist.
|
||||
MDC.put("step", "sftp-delete");
|
||||
sftpService.deleteFile(zipFilename);
|
||||
|
||||
// --- OCI Marker ---
|
||||
// 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.
|
||||
* 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 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
|
||||
*/
|
||||
public void renameFile(String filename, String newFilename) throws SftpException {
|
||||
@@ -129,4 +129,20 @@ public class SftpService {
|
||||
});
|
||||
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 -
|
||||
galabau.sftp.host-key-fingerprint=${GALABAU_SFTP_HOST_KEY_FINGERPRINT:SHA256:xyz}
|
||||
# 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
|
||||
galabau.sftp.local-work-dir=/tmp/sftp-work
|
||||
# galabau.sftp.private-key-path=/etc/secrets/sftp-key
|
||||
|
||||
Reference in New Issue
Block a user