Stream Data Archives
Im Abschnitt Stream Data Archives des Refinery Studio können Sie die Zeitreihenarchive erstellen und verwalten, die Daten in CrateDB erfassen. Jedes Archiv definiert einen CK-Typ, eine kuratierte Liste von Attributpfaden und einen Status — und das Studio führt Sie durch jeden Statusübergang (Activate, Disable, Enable, Retry, Delete) mit Bestätigungsdialogen.
Zur zugrunde liegenden Funktionsweise siehe den Technikleitfaden: Stream Data Archives.
Voraussetzungen
- StreamData muss für den Tenant aktiviert sein. Wenn Sie einen leeren Zustand mit einer einzelnen Schaltfläche „Enable StreamData for this tenant" sehen, ist das Tenant-Flag deaktiviert — klicken Sie darauf, um es zu aktivieren (erfordert Schreibberechtigungen auf dem Tenant).
- Die Rolle
StreamDataAdminist für jede Aktion auf dieser Seite erforderlich. Reader-/Writer-Konten sehen den Navigationseintrag nur, wenn ihre Rolle Admin-Rechte impliziert (AdminPanelManagement). - Die Archivfunktion ist vollständig ausgeblendet, wenn das instanzweite Flag
StreamData:Enabledauffalsesteht — das ist eine Entscheidung auf Operator-Ebene und nichts, was der Tenant-Admin über die Benutzeroberfläche ändern kann.
Zugriff auf die Archives-Seite
Navigieren Sie im Tenant-Menü zu Repository → Archives. Die Seite zeigt jedes Archiv auf dem aktiven Tenant — Raw, Rollup und Time-Range — mit einem Status-Badge und Aktionen pro Zeile.
Archives-Liste
| Spalte | Bedeutung |
|---|---|
| Name | rtWellKnownName der Archiv-Entität. |
| Type | Raw, Rollup oder Time-Range. |
| Target CK Type | Der CK-Typ, den das Archiv erfasst (Industry.Energy/EnergyMeter, …). |
| Status | Created / Activated / Disabled / Failed. Fahren Sie mit der Maus über den Zeitstempel des letzten Übergangs; bei Failed wird zusätzlich der zugrunde liegende Fehlercode angezeigt. |
| Columns | Anzahl der erfassten Attributpfade. |
| Actions | Kontextabhängig: Activate, Disable, Enable, Retry, Delete, Copy ID, View content (nur bei Activated), Edit. |
Das Aktionsmenü ist statusabhängig — nur zulässige Übergänge sind aktiviert:
| Aktueller Status | Verfügbare Aktionen |
|---|---|
Created | Edit · Activate · Delete |
Activated | View content · Disable · Delete (kein Edit — das Schema ist eingefroren) |
Disabled | Enable · Delete |
Failed | Retry Activation · Delete |
Alle destruktiven Aktionen (Disable, Activate, Delete, Retry) öffnen vor der Ausführung der Mutation einen Bestätigungsdialog.
Ein Archiv erstellen
Drei Einstiegspunkte befinden sich in der Symbolleiste der Seite:
- New Archive — ein
RawArchivefür Momentanmessungen (eine Zeile pro Zeitstempel). - New Rollup — ein
RollupArchive, abgeleitet aus einem vorhandenen Archiv. Wählt zuerst eine Quelle (Raw oder Rollup-of-Rollup) und dann die Aggregationen. - New Time-Range — ein
TimeRangeArchivefür extern voraggregierte Daten mit expliziten[from, to)-Fenstern (EDA-Berichte, Smart Meter, Wetter-APIs).
Raw Archive
- Klicken Sie auf New Archive.
- Geben Sie einen Namen (
rtWellKnownName) ein — kurz und stabil; das Archiv wird von Pipelines und Abfragen überrtIdreferenziert, aber der Name ist das, was Sie in Dropdowns sehen. - Wählen Sie den Target CK Type. Die Auswahl vervollständigt sich automatisch aus dem im Tenant geladenen CK-Modell. Vererbung wird unterstützt: Ein Archiv auf einem Basistyp erfasst jeden konkreten abgeleiteten Typ mit seiner eigenen Tabelle.
- Verwenden Sie den Attribute Path Picker, um die zu erfassenden Spalten auszuwählen:
- Baumansicht der Attribute des CK-Typs; klicken Sie in Records hinein, um sie aufzuklappen.
- Schalten Sie pro Zeile Required (die Spalte wird
NOT NULL) und Indexed (standardmäßig aktiviert; deaktivieren Sie es nur für Spalten, die gelesen, aber nie gefiltert werden) um. - Der Array-Marker
[*]wird inline für Attribute mit Sammlungstyp angezeigt (readings[*].value). - Mindestens eine Spalte muss ausgewählt sein.
- Save. Das Archiv wird im Status
Createderstellt. Die CrateDB-Tabelle wird noch nicht bereitgestellt. - Klicken Sie zurück in der Liste in der neuen Zeile auf Activate. Das Studio führt
activateArchiveserverseitig aus; bei Erfolg wechselt das Badge aufActivated, und die Datenebene (Inserts + Queries) ist offen.
Rollup Archive
- Klicken Sie auf New Rollup. Die Quellauswahl listet jedes vorhandene Archiv auf dem Tenant auf — Raw oder Rollup. Die Verkettung Rollup-of-Rollup wird unterstützt.
- Wählen Sie eine Quelle. Der nächste Bildschirm füllt die Metadaten des Quellarchivs in schreibgeschützten Feldern vor:
- Target CK Type (von der Quelle geerbt)
- Quellspalten (verfügbare Pfade zur Aggregation)
- Konfigurieren Sie das Rollup:
- Bucket size — die Länge jedes Aggregationsfensters. Wird menschenlesbar angezeigt (z. B. 1 hour, 1 day) neben dem rohen Millisekundenwert, mit einem Inline-Hinweis, der erklärt, dass ein Bucket das
[start, end)-Fenster ist, das eine Ausgabezeile zusammenfasst. Der Bucket muss mindestens so lang wie die Granularität der Quelle und ein ganzzahliges Vielfaches davon sein — z. B. darf ein Rollup über eine 15-minütige Quelle Buckets von 15 min, 30 min, 1 h oder 1 d verwenden, aber nicht 5 min (feiner als die Quelle) oder 20 min (kein ganzes Vielfaches von 15 min). Ein feinerer oder nicht ausgerichteter Bucket würde einzelne Quellzeilen über Buckets aufteilen und irreführende Aggregate erzeugen, daher wird die Regel zum Zeitpunkt von Activate durchgesetzt (siehe die ZeileRollupBucketIntervalExceptionunter Fehlermodi). Raw-Quellen, die keine Granularität deklarieren, unterliegen keiner Einschränkung. - Bucket alignment —
FixedSizefür technische Daten,CalendarDay/Iso8601Week/CalendarMonth/CalendarYearfür Energie- und EDA-Workflows. - Reference time zone — für die kalenderbasierten Ausrichtungen wählen Sie eine IANA-Zone (z. B.
Europe/Vienna), damit die Buckets auf die lokale Mitternacht / Woche / Monat / Jahr einrasten und DST-korrekt bleiben. Lassen Sie es leer für UTC-Grenzen; beiFixedSizewird es ignoriert. Ausrichtung und Zeitzone sind nach der Aktivierung unveränderlich — um sie zu ändern, löschen und erstellen Sie das Rollup neu. - Watermark lag — wie weit hinter der Echtzeit der Orchestrator zurückbleibt, bevor er einen Bucket schließt. Wird menschenlesbar mit einem Inline-Hinweis angezeigt; verschaffen Sie sich etwas Puffer für spät eintreffende Daten.
- Aggregations — eine oder mehrere Zeilen
{ source path, function, target column }. Funktionen:Avg,Min,Max,Sum,Count,TimeWeightedAvg,StateDuration.Avgwird als Spaltensum + countgespeichert, damit verkettete Rollups numerisch korrekt bleiben. - Zeitgewichtete Funktionen (für ereignisbasierte Quellen, die eine Zeile pro Zustandsänderung schreiben, z. B. der Loxone-Adapter):
TimeWeightedAvggewichtet jede Beobachtung danach, wie lange sie galt (die letzte Beobachtung wird über Bucket-Grenzen hinweg fortgeführt) — bei einem 0/100- oder booleschen Signal ergibt es den Duty Cycle pro Bucket; es wird als Spaltenpaarintegral + durationgespeichert und beim Lesen wieder kombiniert (Abfrage mit AggregationstypTIME_WEIGHTED_AVG, Wire-Suffix_twavg).StateDurationmisst die absolute Zeit (ms), die das Signal einen bestimmten Vergleichswert (eine Zahl,true/falseoder einen Zustandsnamen) innerhalb des Buckets gehalten hat, mit demselben Carry — gespeichert als einzelne Spalte; fragen Sie die Summe über ein Fenster mit AggregationstypSUMab. Der Carry-in-Scan ist durch das optionale Carry-Lookback des Rollups begrenzt (Standard 35 Tage); ein Signal, das länger stumm bleibt, verliert seinen Carry, und der Bucket meldet eine teilweise Abdeckung. Ein einfachesAvgüber ein ereignisbasiertes Signal ist stichprobengewichtet und für Duty-/Dauer-Fragen irreführend — bevorzugen Sie dort die zeitgewichteten Funktionen.
- Bucket size — die Länge jedes Aggregationsfensters. Wird menschenlesbar angezeigt (z. B. 1 hour, 1 day) neben dem rohen Millisekundenwert, mit einem Inline-Hinweis, der erklärt, dass ein Bucket das
- Save. Das Studio leitet
TargetCkTypeId(aus der Quelle) undColumns(aus den Aggregationen) serverseitig übercreateRollupArchiveab — diese setzen Sie niemals von Hand. - Activate wie bei einem Raw-Archiv. Von da an tickt der Rollup-Orchestrator stündlich (konfigurierbar), schreibt eine Zeile pro geschlossenem Bucket und hält den aktuell laufenden Bucket aktualisiert, sodass Teilperioden-Summen (dieser Monat / dieses Jahr bisher) live bleiben.
Das Einreihen eines Backfills oder Recomputes gegen ein Rollup, das noch Created, Disabled oder Failed ist, schlägt schnell mit einer klaren Meldung fehl — aktivieren Sie zuerst das Rollup. Das Deaktivieren oder Löschen eines Rollups bricht auch jede eingereihte Recompute-Arbeit ab, sodass kein unverarbeitbarer Job zurückbleibt. Siehe Rollups & recompute — Lifecycle interactions.
Time-Range Archive
- Klicken Sie auf New Time-Range.
- Geben Sie Name, Target CK Type und die Spaltenliste ein (derselbe Picker wie bei Raw-Archiven).
- Legen Sie optional eine Period (
TimeSpan) fest — nur beratend; das Studio verwendet sie, um beim Rendern von Query-Vorschauen einen Standard-Zeitbereich zu wählen. Wird beim Insert nicht durchgesetzt. - Speichern und aktivieren.
- Externe Produzenten schieben Zeilen über
SaveTimeRangeStreamDataInArchive@1(Pipeline) oderPOST /api/v1/streamData/archives/{rtId}/insertTimeRange(REST).
Ein Archiv bearbeiten
- Solange
Created, ist das Archiv vollständig bearbeitbar — klicken Sie auf den Namen oder auf Edit, um das Formular erneut zu öffnen. Spalten, Target CK Type, Name, Indexierung, Required-Flags — alles kann geändert werden. - Sobald
Activated, ist das Schema eingefroren. Das Formular öffnet sich schreibgeschützt mit einem Banner, das die Unveränderlichkeitsregel erklärt. Die einzigen an diesem Punkt veränderbaren Teile sind der Name und (bei Rollups) die unten stehenden Freeze-/Rewind-Steuerelemente. - Für eine Breaking-Schema-Änderung erstellen Sie ein neues Archiv mit einem neuen Namen und migrieren die Konsumenten. Eine In-Place-Schemamigration gibt es bewusst nicht.
Archivinhalt anzeigen
Um die Zeilen zu inspizieren, die ein Archiv erfasst hat — zum Debuggen einer Pipeline, zur Stichprobenprüfung von Werten oder zur Bestätigung eines Backfills — öffnen Sie den Content Viewer:
- Klicken Sie in der Archives-Liste mit der rechten Maustaste auf ein Activated-Archiv und wählen Sie View content. Die Aktion wird nur für
Activated-Archive angeboten; die anderen Zustände haben keine abfragbare CrateDB-Tabelle. - Klicken Sie im Edit-Formular eines Archivs (Raw, Time-Range oder Rollup) in der Symbolleiste auf View content.
Beide öffnen ein schreibgeschütztes Grid (Repository → Archives → <archive> → Content), das eine Abfrage ausführt, die alle Spalten des Archivs auswählt, und durch die CrateDB-Tabelle blättert — es gibt kein Zeilenlimit; das Grid lädt jeweils eine Seite. Zeilen werden standardmäßig neueste zuerst angezeigt.
Spalten
- Raw-Archive zeigen eine einzelne Spalte Timestamp.
- Time-Range- und Rollup-Archive zeigen Window start und Window end — ihre Zeilen beschreiben ein
[from, to)-Fenster statt eines einzelnen Zeitpunkts. - Eine Spalte Source enthält den Namen der Ursprungsentität, gefolgt von einer Spalte pro erfasstem Attribut.
Zeitzone
Datumsangaben werden standardmäßig in der lokalen Zeit Ihres Browsers angezeigt. Verwenden Sie den Umschalter Local / UTC in der Symbolleiste, um alle Datumsspalten auf UTC umzustellen — praktisch beim Abgleich mit Backend-Logs oder CrateDB, die Zeitstempel in UTC speichern.
Filtern und Sortieren
- Filter — klicken Sie auf Filter, dann auf Add filter, um eine beliebige Spalte einzuschränken (Datenspalten sowie die Zeit- und Systemfelder wie
window_startoderrtWellKnownName). Jeder Filter ist eine Zeile{ field, operator, value }; das Grid aktualisiert sich, sobald der Filter vollständig ist. Leere oder halb ausgefüllte Filterzeilen werden ignoriert. - Sort — klicken Sie auf Sort, um nach einer oder mehreren Spalten zu sortieren (aufsteigend / absteigend). Sowohl das Filtern als auch das Sortieren laufen serverseitig über die gesamte Tabelle, nicht nur über die aktuell geladene Seite.
Der Viewer verändert Archivdaten niemals. Für gespeicherte, wiederverwendbare Abfragen — Aggregationen, Gruppierung, Downsampling oder Abfragen über mehrere Archive hinweg — verwenden Sie den Query Builder.
Lifecycle-Aktionen
Activate
Created → Activated: stellt die CrateDB-Tabelle bereit und öffnet die Datenebene.Disabled → Activated: validiert die Spaltenpfade erneut gegen das aktuelle CK-Modell (CK-Migrationen zwischen Disable und Re-Enable können Pfade brechen — ein Fehler zeigt sich hier, nicht stillschweigend).Failed → Activated(Retry): idempotent — führtCREATE TABLE IF NOT EXISTSerneut aus. Kann gefahrlos wiederholt werden.
Disable
Activated → Disabled. Inserts und Queries werden abgelehnt; die CrateDB-Tabelle und ihre Daten bleiben erhalten. Verwenden Sie Disable, um ein Archiv vor einem destruktiven Vorgang stillzulegen oder um ein nachgelagertes Problem zu untersuchen, ohne den Verlauf zu verlieren.
Delete
Verwirft die CrateDB-Tabelle und löscht die Archiv-Entität weich (rtState = Archived). Der Bestätigungsdialog lautet:
Delete archive '
<rtId>'? The CrateDB table will be dropped and historical data lost. This action cannot be undone.
Delete wird mit einer Benachrichtigung abgelehnt, wenn das Archiv ein RawArchive ist, auf das mindestens ein aktives RollupArchive verweist. Verwerfen Sie zuerst die Rollups oder frieren Sie sie ein und prüfen Sie, was von ihnen abhängt.
Retry Activation
Nur bei Failed verfügbar. Der Status-Tooltip beim Überfahren trägt den zugrunde liegenden Fehlercode (oft ein DDL- oder Pfadauflösungsfehler). Nachdem Sie die Grundursache behoben haben — üblicherweise eine Lücke im CK-Modell — klicken Sie auf Retry.
Computed Columns
Eine Computed Column ist eine zusätzliche Spalte, deren Wert durch eine Formel aus anderen Spalten derselben Zeile abgeleitet wird — zum Beispiel powerFactor = activePower / apparentPower. Anders als die eingespeisten Spalten (die eingefroren sind, sobald das Archiv aktiviert ist) können Computed Columns auf einem aktiven Archiv hinzugefügt, neu formuliert und entfernt werden. Das Panel Computed columns auf der Archiv-Bearbeitungsseite verwaltet sie.
Während eine Spalte hinzugefügt oder ihre Formel geändert wird, liefert das Archiv weiterhin die vorherigen Werte; die neuen Werte erscheinen atomar, sobald der Backfill der vorhandenen Zeilen abgeschlossen ist. Schlägt ein Backfill fehl, bleibt das Archiv genau so, wie es war.
Eine Computed Column hinzufügen
- Öffnen Sie das Archiv (es muss Activated sein) und suchen Sie das Panel Computed columns.
- Klicken Sie auf Add computed column und füllen Sie aus:
- Name — der Spaltenname, zugleich der Bezeichner, den andere Formeln referenzieren (z. B.
powerFactor). - Formula — ein Ausdruck über die anderen Spalten des Archivs (z. B.
activePower / apparentPower). Die unterstützte Syntax finden Sie in der Referenz zu Formula Expressions. - Result type —
Double,Int,Int64,BooleanoderDateTime. (Text wird nicht unterstützt.) - Indexed — aktiviert lassen, außer die Spalte wird selten gefiltert.
- Name — der Spaltenname, zugleich der Bezeichner, den andere Formeln referenzieren (z. B.
- Klicken Sie auf Add. Die Spalte wird über die vorhandenen Zeilen aufgefüllt und wird sichtbar, sobald dies abgeschlossen ist.
Eine Formel ändern
Klicken Sie auf das Bleistift-Symbol in einer Zeile, geben Sie die neue Formel ein und klicken Sie auf Apply. Leser sehen weiterhin die alten Werte, bis die neuen aufgefüllt und atomar eingeblendet sind.
Eine Formeländerung wird abgelehnt, wenn eine andere Computed Column diese referenziert — ändern oder entfernen Sie zuerst die abhängige Spalte. Direkte SQL-/Grafana-Abfragen, die die Spalte verwenden, müssen ebenfalls angepasst werden, da eine Formeländerung die Spalte auf einen neuen internen Namen verschiebt.
Eine Computed Column entfernen
Klicken Sie auf das Papierkorb-Symbol und bestätigen Sie. Das Entfernen wird abgelehnt, wenn eine andere Computed Column sie noch referenziert.
Rollup-spezifische Aktionen
Das Rollup-Bearbeitungsformular bietet vier Operator-Steuerelemente:
| Steuerelement | Wirkung |
|---|---|
| Freeze | Setzt FrozenUntil. Der Orchestrator produziert keine Buckets mehr, deren bucketEnd in den eingefrorenen Bereich fällt. Monoton — ein neues until muss ≥ dem aktuellen Wert sein. |
| Unfreeze | Löscht FrozenUntil. Idempotent. Der Umschalter Accept gaps wird zur Prüfung protokolliert, aber die Lückenerkennung ist ein Folge-Feature. |
| Rewind watermark | Setzt LastAggregatedBucketEnd auf den gewählten Zeitstempel zurück (auf die Bucket-Grenze abgeschnitten). Nachfolgende Ticks aggregieren den zurückgesetzten Bereich erneut. Destruktiv — zuvor festgeschriebene Zeilen in diesem Bereich sind vorübergehend nicht synchron, bis der Orchestrator aufholt. |
| Recompute | Aggregiert einen gewählten [from, to)-Bereich erneut (optional auf eine Entität eingegrenzt). Anders als Rewind ist dies für Leser nicht destruktiv: Ein optimistischer atomarer Austausch hält Abfragen durchgehend auf einem konsistenten Snapshot und schwenkt dann in einem Schritt auf die neuen Werte. Das richtige Werkzeug, um historische Daten zu korrigieren, ohne Dashboards aus dem Takt zu bringen. |
Recompute-Panel
Das Rollups-Panel in der Archivdetailansicht zeigt pro Rollup eine Spalte Recompute mit dem Live-Zustand: ob ein Recompute läuft, wie viele Dirty Windows / ausstehende Bereiche eingereiht sind sowie den letzten Erfolg und den letzten Fehlschlag (mit Grund). Die Aktion Recompute öffnet einen Von-/Bis-Bereichswähler; darunter listet eine Tabelle Recompute-Job-Verlauf die jüngsten Jobs auf (Status, Zeilen, Fenster, Dauer, Fehlergrund), sodass Sie sehen können, warum ein Lauf fehlgeschlagen ist. Diese entsprechen der Mutation recomputeArchive und der Abfrage recomputeJobsFor.
Bounded retro reach
Der automatische Recompute (das periodische Abarbeiten rückwirkender Änderungen) ist durch eine archivbezogene Einstellung Max retroactive reach begrenzt (MaxRetroactiveReachMs auf dem Quellarchiv). Sie deckelt, wie weit zurück ein einzelner sehr später Schreibvorgang einen automatischen Recompute ziehen darf, sodass ein einzelner verirrter alter Zeitstempel keinen Recompute von Jahren an Verlauf einplanen kann. Lassen Sie es leer für unbegrenzt (der Standard) oder setzen Sie es — z. B. 30–90 Tage bei einer hochfrequenten Quelle — um die automatische Reichweite zu begrenzen; ein manueller Recompute über einen gewählten Bereich bleibt unbegrenzt, wenn Sie wirklich tiefere Historie korrigieren müssen. Der Wert wird am Archiv wie jedes andere Konfigurationsfeld bearbeitet; eine flottenweite Obergrenze kann außerdem von einem Administrator in der Host-Konfiguration gesetzt werden. Das Rollups-Panel zeigt eine Empfehlung, diesen Deckel zu konfigurieren, wenn an einem Archiv Rollups hängen. Wenn ein später Schreibvorgang tatsächlich über den Deckel hinausreicht, wird der außerhalb der Reichweite liegende Rest automatisch übersprungen und im Plattform-Event-Log erfasst (Archive.RetroReachCapped), sodass Sie mit einem manuellen Recompute nacharbeiten können.
Typische Arbeitsabläufe:
- Historische Daten ohne Ausfallzeit korrigieren: bevorzugen Sie Recompute gegenüber Rewind — wählen Sie den betroffenen
[from, to)-Bereich (und einen Entitäts-Scope, falls sich nur ein Stream geändert hat) und führen Sie ihn aus. Leser sehen niemals ein Teilergebnis. - Daten korrigieren, die älter als der automatische Reichweiten-Deckel sind: Das periodische Abarbeiten erreicht sie nicht (bewusst so). Führen Sie einen manuellen Recompute über den tieferen
[from, to)-Bereich aus — ein manueller Recompute ist nicht durch den Deckel begrenzt. - Rohdaten nachfüllen (Backfilling): Frieren Sie jedes abhängige Rollup ein → führen Sie den Import aus → setzen Sie die Watermark jedes Rollups auf den Beginn des Nachfüllbereichs zurück → tauen Sie sie auf. Der Orchestrator aggregiert die betroffenen Buckets bei seinem nächsten Tick erneut. (Rewind gleicht etwaige frühere Recompute-Generationen für diesen Bereich automatisch ab.)
- Eine fehlkonfigurierte Aggregation korrigieren: Es gibt kein In-Place-„Aggregationen bearbeiten". Löschen Sie das Rollup, erstellen Sie ein neues mit der korrigierten Spezifikation und aktivieren Sie es.
Das Status-Badge lesen
| Badge-Farbe (Standardtheme) | Status | Bedeutung |
|---|---|---|
| Grau | Created | Noch nicht bereitgestellt. Inserts und Queries werden abgelehnt. |
| Grün | Activated | CrateDB-Tabelle existiert, Datenebene offen. |
| Gelb | Disabled | Tabelle erhalten, Inserts und Queries werden abgelehnt. Zum Fortsetzen erneut aktivieren. |
| Rot | Failed | Activation-DDL fehlgeschlagen. Für den Fehlercode überfahren. Nach der Behebung erneut versuchen. |
Fahren Sie über das Badge, um den Zeitstempel des letzten Übergangs zu sehen. Bei Failed zeigt der Tooltip zusätzlich den zugrunde liegenden Fehlercode.
Fehlermodi
| Symptom | Wahrscheinliche Ursache |
|---|---|
Activate liefert ArchivePathInvalidException | Einer der erfassten Pfade kann gegen das aktuelle CK-Modell nicht aufgelöst werden. Bearbeiten Sie das Archiv (sofern noch Created) oder korrigieren Sie das CK-Modell. |
Activate liefert ArchiveColumnTypeUnsupportedException | Der CK-Typ eines Attributs lässt sich keinem CrateDB-Spaltentyp zuordnen. Wählen Sie ein anderes Attribut oder strukturieren Sie den CK-Typ um. |
Activate liefert RollupBucketIntervalException | Das Bucket-Intervall des Rollups ist feiner als die Granularität der Quelle oder kein ganzzahliges Vielfaches davon (z. B. ein 5-min- oder 20-min-Bucket über einer 15-min-Quelle). Löschen Sie das Rollup und erstellen Sie es mit einem Bucket neu, das ≥ und ein ganzes Vielfaches der Quellgranularität ist. |
Delete liefert RollupSourceInUseException | Aktive Rollups verweisen auf dieses Raw-Archiv. Verwerfen oder frieren Sie zuerst die Rollups ein. |
Retry Activation schlägt weiterhin fehl | Der Fehler ist umgebungsbedingt (Crate nicht erreichbar, Schemaberechtigungen) — prüfen Sie die asset-repo-Logs. |
| Archivseite ist leer, keine „Enable"-Schaltfläche | Instanzweites StreamData:Enabled ist false. Das ist eine Operator-Entscheidung (appsettings). |
| Schaltflächen sind deaktiviert, obwohl die Rolle richtig aussieht | Das Token trägt den role-Claim nicht. Melden Sie sich erneut an; prüfen Sie die API-Resource-Konfiguration des Identity Service. |
Wo die Daten liegen
Archiv-Metadaten (die Archive-Runtime-Entitäten, Status, Spalten, Rollup-Zustand) liegen in der MongoDB-Datenbank des Tenants. Zeitreihenzeilen liegen in CrateDB, in einem Schema, das nach dem Tenant benannt ist. Das Löschen eines Tenants verwirft beide. mongodump --db=<tenant> erfasst die Metadaten, aber nicht die CrateDB-Zeilen — für Zeitreihen-Backups verwenden Sie die eigenen Snapshot-Werkzeuge von CrateDB.
Siehe auch
- Stream Data Archives (Technikleitfaden) — vollständige Funktionsweise, Schema, Lebenszyklus, API-Oberfläche
- Stream Data Access (Einführung) — Abfragen der erfassten Daten
- octo-cli — EnableStreamData und verwandte Befehle (Activate / Disable / Enable / Retry / Delete archive) — dieselben Vorgänge über die Kommandozeile