Verbesserung der Dokumentation und implementierung von automation funktion in pck_auto_import
This commit is contained in:
@@ -62,6 +62,8 @@ Alle zur Laufzeit via `pck_system.f_get_par_wert_by_programmid`:
|
||||
| `NETSTORE_BA_PREFIX` | Pfad in Object Storage, wo BA-Daten liegen. Muss mit einem `/` enden, z.B. `BA/Eingang/` |
|
||||
| `NETSTORE_BA_IMPORT` | Name des Unterordners von NETSTORE_BA_PREFIX im Object Storage, wo entpackte Dateien, die noch importiert werden müssen, zwischengespeichert werden. |
|
||||
| `BA_IMPORT_SB_MIT_ID` | Mitarbeiter-ID für Import von BA Daten (z.B. Korrespondenzen). Diese Mitarbeiter-ID bekommt eine Wiedervorlage, für jede Datei, die nicht automatisch importiert werden konnte. |
|
||||
| `AUTOMATON_BASE_URL` | Base-URL des Quarkus Dateieingang Service, z.B. `http://dateieingang:8080` |
|
||||
| `AUTOMATON_API_KEY` | API-Key für den Quarkus Dateieingang Service (Header `X-Api-Key`) |
|
||||
|
||||
---
|
||||
|
||||
@@ -156,7 +158,7 @@ Bucket nicht erreichbar → -20003 via `f_make_request`
|
||||
## Sicherheit / Tenant-Isolation
|
||||
|
||||
`p_assert_allowed` wird am Anfang jeder öffentlichen Funktion/Prozedur aufgerufen:
|
||||
1. Tenant-Prefix laden via `f_get_cfg('NET_STORAGE_TENANT_ID')`
|
||||
1. Tenant-Prefix laden via `f_get_cfg('NETSTORE_TENANT_ID')`
|
||||
2. `..`-Sequenzen im übergebenen Key prüfen → -20004
|
||||
3. Prüfen ob Key mit Tenant-Prefix beginnt → -20005
|
||||
|
||||
@@ -184,7 +186,22 @@ Die DB verarbeitet einen Unterordner **ausschließlich wenn der Marker vorhanden
|
||||
Der Marker wird erst gelöscht wenn **alle** Dateien des Unterordners erfolgreich
|
||||
verarbeitet wurden — so werden fehlgeschlagene Dateien beim nächsten Lauf erneut versucht.
|
||||
|
||||
### Prozedur `p_process_incoming_ba_data` (in `pck_auto_import`, nicht in pck_net_storage)
|
||||
### Prozedur `p_run_ba_korrespondenz_dateieingang_automation` (in `pck_auto_import`) — APEX Automation Einstiegspunkt
|
||||
|
||||
Von der APEX Automation (stündlich) aufgerufen. Orchestriert den Gesamtablauf:
|
||||
|
||||
```
|
||||
1. p_process_incoming_ba_data aufrufen
|
||||
→ verarbeitet Batches die bereits in OCI liegen (Fallback, falls ORDS-Aufruf letzten Lauf fehlschlug)
|
||||
→ Fehler eskalieren (APEX Automation markiert Lauf als fehlerhaft)
|
||||
|
||||
2. HTTP POST an AUTOMATON_BASE_URL/api/process-incoming (Header: X-Api-Key: AUTOMATON_API_KEY)
|
||||
→ 202 Accepted: Pipeline gestartet
|
||||
→ 409 Conflict: Service läuft bereits — kein zweiter Lauf, kein Fehler
|
||||
→ sonstige Fehler: loggen, nicht eskalieren (nächster Lauf führt Schritt 1 wieder aus)
|
||||
```
|
||||
|
||||
### Prozedur `p_process_incoming_ba_data` (in `pck_auto_import`) — ORDS-Einstiegspunkt
|
||||
|
||||
```
|
||||
1. Unterordner von eingang/ auflisten (f_list_objects mit delimiter='/')
|
||||
|
||||
Reference in New Issue
Block a user