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ånpages/tillapp_pages/och registreras explicit genomst.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, medreadersom 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,freshnessochcomparison— 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å
graphvizoch 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/getModelObjectlåser nu sitt läge explicit,getIngestersflyttade till ett enda globalt listanrop i stället för en utfläkning per system, ochgetConnectionflyttade 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-pivotochpydantic; tog bortmatplotlib,seaborn,streamlit-aggrid,streamlit-agraphochstreamlit-extras; låstepandas<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_PATH | Ny. 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_CERTIFICATE | Ny. Styr TLS-verifiering mot backend; när den inte är satt undertrycks motsvarande varningar i stället för att översvämma loggarna. |
PUBLISHER_ENABLED | Ny. Aktiverad som standard; sätt till 0/false/no för att dölja publiceringsmätvärden och -sektioner. |
KEEPDATAINTRUSTEDFORDAYS | Ny. Lagringsfönster som används i Trusted-zonens vyer (standard 3). |
CACHE_TTL | Nytt standardvärde (120 s) som gäller alla cachade datafrågor. |
SERVICE_LIST / CONTAINER_LIST | Borttagna. Containerpingning finns inte längre. |
Uppgraderingsnoteringar
- 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.
- En omvänd proxy är nu obligatorisk. Roller och åtgärdsloggens identitet kommer från rubrikerna
X-User-GroupsochX-User-Emailsom Caddy sätter. Att exponera containern direkt gör varje besökare tillreadermed enunknownidentitet i loggen, och skulle låta en anropare förfalska dessa rubriker. SERVICE_LISTläses inte längre. Ta bort den ur driftskonfigurationen; containerstatus visas inte längre.- Bokmärkta sid-URL:er ändras — sidorna flyttades från
pages/tillapp_pages/och routas nu avst.navigation. Sidan Data Flow Overview finns inte längre. - 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.
- Sätt
PUBLISHER_ENABLED=0på installationer utan publiceringskomponent, annars renderas publiceringssektionerna med nollvärden. - INGEST-checklistans siffror förskjuts. Med
getIngesterspå 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.