Skip to main content

Data Operations Console – v3 Versionsnoteringar

Version: 3.2.a Ersätter: release/v25.10.1

Detta är en ombyggnad av Data Operations Console snarare än en inkrementell version. Nästan varje sida skrevs om eller lades till på nytt, rollbaserad åtkomst och åtgärdsloggning infördes, direkt SQL ersattes till stor del av backend-API:er, och navigeringsmodellen, den visuella identiteten och containerbilden ändrades alla. Läs Uppgraderingsnoteringar i slutet av den här sidan innan du driftsätter.

En fullständig referens sida för sida över den ombyggda konsolen finns under DataOps-konsolen.

🚀 Funktioner

  • Ombyggt applikationsskal. Start.py är inte längre en startsida utan själva skalet. Sidorna flyttades från pages/ till app_pages/ och registreras explicit genom st.navigation, grupperade per domän — Ingestion, Data Lake, Data Warehouse, Data Quality, Reference och System.
  • Ett globalt datumintervall och en cache-TTL, initierade i skalet (standard: senaste 24 timmarna) och delade av varje sida, så att ett filter satt i sidomenyn överlever sidbyten, omladdningar och direkt URL-inmatning.
  • Globalt sidomenyhuvud och sidomenyfot med ett live-hälsomärke, plus spökfria sidövergångar och cache-invalidering vid uppdatering, återinträde på en sida och filterändring — en sida visar aldrig föregående besöks data.
  • Nytt: rollbaserad åtkomst och åtgärdsloggning. Roller härleds ur den omvända proxyns X-User-Groups-rubrik (admin / developer / reader, med reader som reserv), och varje användarutförd åtgärd skriver en strukturerad JSON-rad — användare, roll, sida, åtgärd, mål, detalj och tidsstämpel — till containerloggarna. Alla förändrande åtgärder kräver administratör.
  • Nytt: System Health-sida, nu standardsidan vid inloggning. Den samlar körningsloggar, körningsmätvärden, jobbloggar, jobbmätvärden och jobbstatus från övervaknings-API:erna i en enda vy, med problembanners som filtrerar relevant loggtabell och scrollar dit.
  • Nytt: Data Quality / QPI, uppdelat på en skrivskyddad QPI Monitor och en QPI Administration-sida enbart för administratörer, för att skapa, redigera, schemalägga, trigga, tvångsstänga och pensionera kontroller. En guidad QPI-byggare genererar arbetarkompatibel sond-SQL från tre förval — threshold, freshness och comparison — i kundens SQL-dialekt; genererade kommandon tolkas tillbaka till sina delar och förblir redigerbara, och handskriven SQL faller igenom till avancerat läge.
  • Nytt: DLS Publisher Trace, som spårar publicerade filer och tabeller från början till slut genom dedikerade publiceringsändpunkter som returnerar långt mindre data än den tidigare frågedrivna metoden, med en åtgärd för att trigga om publicering och korrigerad statushantering.
  • Nytt: DLS Contract Validation, som validerar landad data mot dess kontrakt genom att läsa Delta-tabeller direkt. Datakontrakt kan nu också skapas och uppdateras från applikationen, med stöd av nya pydantic-modeller för V3b-kontraktets form (nivåer, fält, domäner, nyckelordning, känslighets- och profileringsflaggor).
  • Nytt: DLS Data Profiler, med nivå- och fältredigerare som spårar ändringar i sessionstillståndet så att pågående arbete inte går förlorat vid omkörning, samt kontraktsgenerering från profilerade strukturer.
  • Nytt: DWA Task Orchestration, som visar beroendegrafen för lageruppgifter och tillåter att en uppgift startas direkt, med en åtgärdspost för varje trigger.
  • Nytt: Loading Statistics, som lägger till interaktiva pivottabeller över lagrets laddningsstatistik med tidszonsmedvetna tidsseriervyer och nedbrytning till detaljer per källfil.
  • INGEST rerun, skip och restart flyttades till v3:s workload-ändpunkter; omstart av lageruppgifter går via API:et och massöverhoppning stöds. Export-rad- och filantal extraheras och visualiseras, och ingest-historiken accepterar ett källsystemsfilter.
  • Ofullständigt arbete döljs aldrig. Misslyckade och långkörande uppgifter överlever varje filter och postgränsen, så ingest- och lagersidorna döljer inte längre problem.
  • Referenssidor omarbetade. Data Lineage skrevs om på graphviz och växte från en stubbe till en fullständig härkomstutforskare; Data Model fick ämnesområdeshantering (skapa och redigera ämnesområden från applikationen); Documentation byggdes om, inklusive definitionsgenerering via SQL-generator-API:et.
  • API-först dataåtkomst. Direkt SQL ersattes av anrop till repository-API:et på de operativa sidorna, med nya ändpunkter för systemhälsa, QPI, publicering, schemaläggning och orkestrering, modell och kontrakt, extraprocessorer och statistik.
  • Ny Simplitics-färgpalett genomgående, med webbtypsnitten Lato/Raleway, Material Symbols-ikoner, ett matchande Streamlit-tema och uppgiftstillståndsfärger omarbetade till paletten (fel behålls i ett universellt djuprött).

🐛 Buggfixar

  • Fixade det tidigare ingest-rerun-arbetsflödet, som kunde misslyckas och sedan krascha på sitt eget felmeddelande.
  • Att avsluta en fastnad QPI-körning slutför nu uppgiften i stället för att lämna den som Failed, där den fortsatt skulle räknas som ofullständig och blockera kontrollen.
  • Korrigerade publiceringens statushantering och mätvärden, och lade till skonsam hantering av tomma resultat och saknade zonnamn.
  • Fältomdöpningar i profileraren återställs i stället för att tyst förkastas när de avvisas.
  • Fixade "klibbig" filmarkering i Gantt-schemat, så att en vald fil inte längre följer med in i en orelaterad vy.
  • Fel i repositoryt renderas nu som åtgärdbara felkort i stället för att tömma sidan eller visa en rå traceback.

🔧 Underhåll

  • Varje kvarvarande v2-API-anrop migrerades till v3. De flesta är rena alias och beter sig identiskt; tre krävde mer än en sökvägsändring — getModels/getModelObject låser nu sitt läge explicit, getIngesters flyttade till ett enda globalt listanrop i stället för en utfläkning per system, och getConnection flyttade till en v3-rutt vars payload skiljer sig från v2.
  • Containerbilden byggdes om som ett tvåstegsbygge på debian12-minimal, körande som en icke-root-användare, med en hälsokontroll och en explicit bindningsadress.
  • Diagram migrerade till Altair; utfasade Streamlit-breddargument ersatta enligt nuvarande API-konventioner.
  • Beroenden: lade till streamlit-pivot och pydantic; tog bort matplotlib, seaborn, streamlit-aggrid, streamlit-agraph och streamlit-extras; låste pandas<3.
  • Två ytterligare profileringssidor — DLS Data Profiling och Discover New Fields — levereras parkerade: de finns i kodbasen men är inte registrerade i navigeringen.
  • Sidan Data Flow Overview togs bort, ersatt av de förbättrade sidorna Data Model och Data Lineage.
  • Container-statuspingning togs bort; hälsa härleds nu från övervaknings-API:erna i stället för en hårdkodad containerlista.

Nya och ändrade inställningar​

InställningÄndring
BACKEND_OPTIONAL_PATH / GENERATOR_OPTIONAL_PATHNy. Läggs till den byggda API-URL:en, så att backend kan ligga bakom en sökvägsroutad omvänd proxy i stället för en egen port.
BACKEND_CERTIFICATENy. Styr TLS-verifiering mot backend; när den inte är satt undertrycks motsvarande varningar i stället för att översvämma loggarna.
PUBLISHER_ENABLEDNy. Aktiverad som standard; sätt till 0/false/no för att dölja publiceringsmätvärden och -sektioner.
KEEPDATAINTRUSTEDFORDAYSNy. Lagringsfönster som används i Trusted-zonens vyer (standard 3).
CACHE_TTLNytt standardvärde (120 s) som gäller alla cachade datafrågor.
SERVICE_LIST / CONTAINER_LISTBorttagna. Containerpingning finns inte längre.

Uppgraderingsnoteringar​

  1. Backend-krav. Konsolen är nu beroende av v3-API:erna för sourcefile, ingest, schema, statistik, publicering, QPI och systemhälsa. Driftsätt en backend som exponerar dem innan du uppgraderar.
  2. En omvänd proxy är nu obligatorisk. Roller och åtgärdsloggens identitet kommer från rubrikerna X-User-Groups och X-User-Email som Caddy sätter. Att exponera containern direkt gör varje besökare till reader med en unknown identitet i loggen, och skulle låta en anropare förfalska dessa rubriker.
  3. SERVICE_LIST läses inte längre. Ta bort den ur driftskonfigurationen; containerstatus visas inte längre.
  4. Bokmärkta sid-URL:er ändras — sidorna flyttades från pages/ till app_pages/ och routas nu av st.navigation. Sidan Data Flow Overview finns inte längre.
  5. Bygg om avbildningen, återanvänd inte en cachad lageruppsättning: basavbildningen ändrades och processen körs nu som en icke-root-användare. Varje monterad volym som applikationen skriver till måste vara skrivbar för den användaren.
  6. Sätt PUBLISHER_ENABLED=0 på installationer utan publiceringskomponent, annars renderas publiceringssektionerna med nollvärden.
  7. INGEST-checklistans siffror förskjuts. Med getIngesters på den globala v3-listrutten visar tidsstämpeln för senast schemalagd nu den senast försökta exporten i stället för den senast slutförda, och definitioner utan schema eller med nollintervall filtreras inte längre bort — de syns i checklistan och räknas som noll förväntade körningar.