Glossar

Begriffe von GENESIS-Online und das Vokabular, das diese CLI verwendet. GENESIS ist eine mehrdimensionale Statistikdatenbank: Statistiken bestehen aus Datenquadern, die in Tabellen aufbereitet und durch Merkmale und deren Ausprägungen beschrieben werden.

Objekte

Begriff GENESIS Bedeutung
Statistik statistic Ein vollständiges statistisches Produkt, identifiziert über einen fünfstelligen EVAS-Code (z. B. 12411, „Fortschreibung des Bevölkerungsstandes“). Enthält Datenquader.
Tabelle table Eine fertige zweidimensionale Ansicht mit einem Code wie 12411-0001. Das, was Sie hauptsächlich abrufen.
Datenquader cube Die mehrdimensionalen Rohdaten hinter den Tabellen, mit einem Code wie 12411BJ001.
Zeitreihe timeseries Ein Datenquader, reduziert auf einen einzelnen Wert im Zeitverlauf.
Merkmal variable Eine Dimension bzw. ein Attribut (z. B. DLAND = Bundesland, NAT = Staatsangehörigkeit).
Ausprägung value Ein konkreter Wert eines Merkmals (z. B. ein bestimmtes Bundesland).
Ergebnistabelle result Eine von einem asynchronen Job erzeugte Tabelle, gespeichert in Ihrem Nutzerbereich.

Codes und Auswahl

Die Antworthülle

Jede Antwort außer von helloworld steckt in einer Hülle:

Feld Bedeutung
Ident { Service, Method } – welcher Endpoint geantwortet hat.
Status { Code, Content, Type } – das logische Ergebnis (siehe unten).
Parameter Echo Ihrer Anfrage (Zugangsdaten maskiert als ********).
Copyright der anzugebende Quellenvermerk – siehe DATA_LICENSE.md.
List Katalogergebnisse (ein homogenes Array).
Object Nutzdaten für Daten und Metadaten (nicht näher typisiert; bei data/table ein CSV-String in Object.Content).

helloworld/whoami und helloworld/logincheck verwenden diese Hülle nicht. logincheck antwortet mit HTTP 200, ob die Zugangsdaten stimmen oder nicht: Status ist ein Text – ein Fehlertext („Ein Fehler ist aufgetreten …“) heißt, sie wurden abgelehnt, und die CLI endet mit Exit 1 und dem Hinweis auf die Zugangsdaten – und Username nennt das Konto (der gesendete Token kann dort als Echo zurückkommen). Entscheidend ist nur ein ausdrücklicher Erfolgs- oder Fehlertext; jede andere Antwort gilt als nicht bestätigt (Exit 1).

Werte von Status.Code

Der HTTP-Status ist fast immer 200; das tatsächliche Ergebnis steht in Status.Code. Ausnahme sind Authentifizierungsfehler: Sie kommen als flacher Body { Code, Content, Type } (ohne Hülle) mit HTTP 401 oder 404 zurück:

Code Typ Bedeutung Diese CLI
0 Information Erfolg liefert Daten
22 Warnung Erfolg, ein Parameter wurde automatisch korrigiert liefert Daten (Warnung in Status.Content sichtbar)
50 Information keine neueren Daten (bei --stand) liefert Daten
104 Information kein Objekt gefunden, das passt (catalogue, metadata, data; ein find ohne Treffer antwortet stattdessen mit 0 und lauter null-Listen) liefert ein leeres Ergebnis (Exit 0); ein Download mit data <kind>file schlägt stattdessen fehl (Exit 4, keine Datei geschrieben)
90 Fehler angefordertes Objekt nicht gefunden Fehler, Exit 4
98 Information Ergebnis zu groß für einen direkten Abruf Fehler mit Hinweisen zum Eingrenzen, Exit 1
15 ERROR nicht berechtigt: Zugangsdaten fehlen oder werden nicht erkannt (flacher Body bei HTTP 401) Fehler GENESIS status 15 (ERROR) / HTTP 401 mit dem GENESIS-Text und einem Hinweis auf die Zugangsdaten, Exit 1
2 ERROR falscher Nutzername bzw. falsches Passwort oder Token (flacher Body bei HTTP 404; derselbe flache Body bei HTTP 200 zählt ebenso) Fehler GENESIS status 2 (ERROR) / HTTP 404 (bzw. / HTTP 200) mit dem GENESIS-Text und einem Hinweis auf die Zugangsdaten, Exit 1 (ein 404 mit GENESIS-Code heißt nicht „nicht gefunden“)
beliebig Fehler / Error allgemeiner Fehler Fehler, Exit 1

Platzhalter für den Wertstatus

In einer CSV aus data/table kann eine Zelle statt einer Zahl ein Statuszeichen enthalten: - (nichts vorhanden / tatsächlich null), . (unbekannt oder geheim), ... (noch nicht verfügbar), / (keine Angabe, da Zahlenwert nicht sicher genug), x (keine sinnvolle Aussage möglich), () (eingeschränkter Aussagewert), p (vorläufig), r (berichtigt), s (geschätzt).

Begriffe zur Authentifizierung

Wie Zugangsdaten übertragen werden und warum Weiterleitungen nicht gefolgt wird, beschreibt DEVELOPING.md (englisch).

Log-Einträge

Log-Eintrag (log record). Jede Diagnosezeile, die die CLI nach stderr schreibt: ein Zeitstempel, eine Stufe (ERROR, WARN, INFO) und ein Thema destatis.<Bereich>, als Text (im Stil von log4j) oder mit --log-format jsonl als ein JSON-Objekt pro Zeile. Die Bereiche: cli (Bedienfehler, Meldungen von commander, unerwartete Fehler, die Warnung vor Zugangsdaten in einer Option), api (die Antworten von GENESIS: ein Fehlerstatus, der Hinweis zu den Zugangsdaten und eine fehlerhafte Antwort — ungültiges JSON, die falsche Form, ein leerer Body, eine Anmeldeprüfung, die nichts bestätigt), http (die Verbindung, die Klartext-Warnung und je Wiederholung eine WARN-Zeile vor dem Warten), config (die Zugangsdaten-Datei) und output (die -o-Datei, Schreibfehler auf stdout). Ein Eintrag ist immer eine Zeile; Steuerzeichen darin werden maskiert.

Quelle auf GitHub ansehen →