Daten auf dem neuesten Stand halten

Mit der Opendatasoft-Plattform ist es möglich, im selben Datenkatalog ganze statische Datensätze (die nur einmal veröffentlicht werden müssen) sowie Live-Datensätze (die regelmäßig aktualisiert werden müssen) zu bearbeiten.

Es stehen zwei verschiedene Mechanismen zur Bearbeitung von Datensatzaktualisierungen zur Verfügung:

  • Der Zeitplan: Er ermöglicht eine automatische Wiederveröffentlichung von Datensätzen in festgelegten Abständen. Dieser Modus ist sehr nützlich bei Datensätzen aus einer Remote-Quelle, die regelmäßig aktualisiert wird.

  • Übertragung von Echtzeit-Daten mit einem speziellen API-Endpunkt auf die Opendatasoft-Plattform. Dieser Modus ist sehr nützlich, wenn die Daten direkt vom System gesendet werden können, das die Datenpunkte generiert, wie etwa ein Computerprogramm, das Ereignismetriken sendet bzw. ein Sensorensatz, der seine Messwerte sendet.

Verwenden des Zeitplan-Modus, um einen Datensatz auf dem neuesten Stand zu halten

Hinweis

Die Verfügbarkeit dieser Funktion hängt von der Lizenz der Opendatasoft-Domain ab.

Datensätze können automatisch in bestimmten Abständen neu veröffentlicht werden.

Diese Lösung ist am einfachsten zu implementieren. Sie erfordert keinerlei Entwicklung, sondern lediglich eine Remote-Quelle und ein paar Einstellungen in der Datensatzkonfiguration.

Eine Remote-Quelle hinzufügen

Um einen Datensatz zu planen, müssen Sie eine Remote-Quelle hinzufügen, die als URL (HTTP oder FTP) zu einer Datei angegeben wird, oder einen Remote-Dienst konfigurieren. Weitere Informationen finden Sie unter Eine Datei abrufen und Eine Remote-Service konfigurieren.

Festlegen des Zeitplanintervalls

Sobald Sie einen Datensatz mit einer Remote-Quelle gespeichert haben, wird die Registerkarte Zeitplan aktiviert:

../../_images/scheduling_tab.png

In dieser Registerkarte können Sie so viele Zeitpläne hinzufügen, wie Sie möchten. Wenn Sie wünschen, können Sie zum Beispiel festlegen, dass ein Datensatz jeden Montagmorgen und jeden Mittwochnachmittag neu verarbeitet wird.

Standardmäßig ist das minimale Zeitplan-Intervall der Tag. Bitte wenden Sie sich an den Support von Opendatasoft, wenn Sie eine minutengenaue Planung für Ihre Domain benötigen.

Wichtig

Die Zeitpläne werden auf Grundlage der Zeitzone von Paris, Frankreich, festgelegt:

  • In der Standardzeit basieren die Zeitpläne auf GMT+1 (Mitteleuropäische Zeit).

  • In den Sommermonaten richtet sich der Zeitplan nach GMT+2 (Mitteleuropäische Sommerzeit).

Echtzeitdaten übertragen

Hinweis

Die Verfügbarkeit dieser Funktion hängt von der Lizenz der Opendatasoft-Domain ab.

Bei einigen Datentypen kann es hilfreich sein, Daten zu übertragen (Push), anstatt die Daten auf herkömmliche Weise von der Plattform aus einer Ressource zu beziehen. Um diesen Bedarf zu decken, bietet die Opendatasoft-Plattform eine Realtime-Push-API.

Dies ist nicht mit der Möglichkeit zu verwechseln, die Verarbeitung eines Datensatzes zu planen. Bei der Planung wird der Datensatz in regelmäßigen Abständen die Ressource abrufen und die darin enthaltenen Daten verarbeiten. Im Gegensatz dazu wird der Datensatz bei der Push-API von einer Anwendung über eine Push-API versorgt. Die Einträge werden nacheinander verarbeitet, sobald sie empfangen werden.

Konfigurieren des Datensatz-Schemas

  1. Klicken Sie unter Katalog > Datensätze auf den Button Neuer Datensatz.

  2. Wählen Sie in dem sich öffnenden Assistenten Realtime unter dem Abschnitt Remote-Service konfigurieren.

  3. Geben Sie in das Feld Echtzeit-Datenschema einige Bootstrapdaten ein. Die Daten sollten alle Felder enthalten, die über die API gesendet werden.

Hinweis

Die Bootstrapdaten werden nicht im Datensatz verwendet: Sie dienen lediglich dazu, den Datensatz zu erstellen.

  1. Konfigurieren Sie die Optionen Informationen und Alarmmanagement.

  2. Push-URL abrufen.

Einsatz der Push-URL

Nach Konfiguration der Parameter der Echtzeit-Quelle wird ein URL-Pfad mit einem Push-API-Schlüssel angezeigt. Dieser Pfad, der an die Basis-URL Ihrer Domain angehängt wird, ist der Ort, an den die Plattform die Daten nach der Veröffentlichung sendet.

Es wird damit gerechnet, dass die Daten im JSON-Format gesendet werden: - als einzelnes JSON-Objekt für einen einzelnen Datensatz - als Array von JSON-Objekten, um mehrere Datensätze auf einmal zu übermitteln

Nachfolgend ein Minimalbeispiel einer API-Verwendung für einen Datensatz mit einem einzigen Feld namens "Nachricht", das Curl verwendet:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/push/?pushkey=<PUSH_API_KEY> -d'{"message":"Hello World!"}'

Daraus ergibt sich der folgende Datensatz:

table view with a single record with value "Hello World!" in the "message" field

Nachfolgend ein Minimalbeispiel mit demselben Datensatz, den das Array-Formular zum gleichzeitigen Versenden mehrerer Einträge verwendet:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/push/?pushkey=<PUSH_API_KEY> -d'[{"message":"¡Hola Mundo!"},{"message":"Hallo Welt!"}]'

Wenn die Einträge korrekt empfangen wurden, sendet der Server die folgende Nachricht.

{
    "status": "OK"
}

Falls bei dem Versuch, einen Eintrag zu pushen, ein Fehler auftritt, wird dieser Fehler in der Antwort angegeben.

Hinweis

Echtzeit-Push-Anfragen sind auf eine Datenmenge von 5 MB beschränkt. Ein größere Datenmenge verursacht einen Fehler und sollte daher in mehrere kleinere Anfragen aufgeteilt werden.

Pushen eines Felds oder einer Typ-Datei

Um ein Feld vom Typ Bild zu pushen, muss ein JSON-Objekt mit dem Base64-kodierten Inhalt und dem MIME-Typ der Datei gesendet werden:

{
    "image_field": {
        "content": "BASE64 data",
        "content-type": "image/jpg"
    }
}

Daten durch Definieren eines eindeutigen Schlüssels aktualisieren

In manchen Fällen ist es sinnvoll, die bestehenden Einträge zu aktualisieren, anstatt neue zu pushen. Zum Einrichten eines solchen Systems mit der Opendatasoft-Plattform müssen die Felder, die als eindeutiger Schlüssel verwendet werden sollen, als solche gekennzeichnet sein.

Vorgehensweise

Gehen Sie wie folgt vor, um Felder als eindeutigen Schlüssel zu markieren:

  1. Klicken Sie im Vorschaubereich der Registerkarte "Verarbeitung" auf den Button configuration icon des gewünschten Feldes.

  2. Wählen Sie Eindeutige ID.

  3. Speichern und veröffentlichen Sie den Datensatz.

Wenn ein neuer Eintrag, dessen Schlüsselwert mit einem bestehenden Eintrag übereinstimmt, übertragen wird, überschreibt der neue Eintrag den alten Eintrag.

Beispiel

In einem Datensatz wird die Anzahl der verfügbaren Exemplare für jedes Buch in einer öffentlichen Bibliothek erfasst:

table view with 2 records containing respectively 978-0060589462 and 978-2862744506 as isbn and 3 and 5 as number_of_copies

Nehmen wir an, dass dieser Datensatz zwei Felder enthält:

  • isbn, für die ISBN-Nummer des Buches

  • number_of_copies für die aktuelle Anzahl der in der Bibliothek verfügbaren Exemplare.

In diesem Fall macht es keinen Sinn, für jeden neuen Wert von number_of_copies einen Eintrag hinzuzufügen. Stattdessen wäre es besser, den neuen number_of_copies Wert auf den Eintrag zu setzen, der dem Buch isbn entspricht.

In diesem Beispiel wäre der eindeutige Schlüssel isbn, da der Rest der Daten mit einzelnen Büchern verknüpft ist und diese Bücher durch die ISBN identifiziert werden.

Wenn Ihr Datensatz den isbn Wert als eindeutigen Schlüssel hat und diese beiden Einträge enthält:

[
    {
        "isbn": "978-0060589462",
        "number_of_copies": 3
    }, {
        "isbn": "978-2862744506",
        "number_of_copies": 5
    }
]

Wenn jemand ein Exemplar von "Zen und die Kunst ein Motorrad zu warten" ausleiht und Sie den folgenden Eintrag übertragen:

{
    "isbn": "978-0060589462",
    "number_of_copies": 2
}

Dann haben Sie immer noch zwei Einträge, von denen der erste mit dem neuen Wert aktualisiert wird:

table view with 2 records containing respectively 978-0060589462 and 978-2862744506 as isbn and 2 and 5 as number_of_copies

Daten löschen

Zwei Endpunkte ermöglichen das Löschen gepushter Einträge. Der eine verwendet Eintragswerte und der andere die Eintrags-ID.

Daten mithilfe von Eintragswerten löschen

Zum Löschen eines Eintrags bei bekannten Eintragsfeldwerten POSTEN Sie den Eintrag, als würden Sie ihn zum ersten Mal hinzufügen, ersetzen Sie dabei jedoch /push/ durch /delete/ in der Push-URL. Falls Ihr Push-URL-Pfad /api/push/1.0/<DATASET_ID>/<RESSOURCE_ID>/push/?pushkey=<PUSH_API_KEY> lautet, verwenden Sie stattdessen /api/push/1.0/<DATASET_ID>/<RESSOURCE_ID>/delete/?pushkey=<PUSH_API_KEY> lautet.

Hier ist ein minimales Beispiel für das Löschen des Eintrags, den wir zuvor übertragen haben:

curl -XPOST <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/delete/?pushkey=<PUSH_API_KEY> -d'{"message":"Hello World!"}'

Daten mithilfe der Eintrags-ID löschen

Wenn Sie die Eintrags-ID des Eintrags kennen, den Sie löschen möchten, führen Sie einfach eine GET-Anfrage an die URL aus, indem Sie /push/ durch /<RECORD_ID>/delete/ ersetzen:

curl -XGET <DOMAIN_URL>/api/push/1.0/<DATASET_ID>/<RESOURCE_ID>/<RECORD_ID>/delete/?pushkey=<PUSH_API_KEY>

Benachrichtigung bei Inaktivität

Wenn Sie davon ausgehen, dass ein bestimmtes System häufig Daten an die Plattform sendet, möchten Sie vielleicht benachrichtigt werden, wenn die Plattform seit einiger Zeit keinen Eintrag mehr erhalten hat.

Gehen Sie wie folgt vor, um benachrichtigt zu werden:

  1. Klicken Sie unter Katalog > Datensätze auf den gewünschten Datensatz.

  2. Wählen Sie bei der gewünschten Quelle action menu icon > Quelle anzeigen.

  3. Klicken Sie auf Alarmmanagement.

  4. Konfigurieren Sie in dem sich öffnenden Dialogfeld die Benachrichtigungsparameter:

    • Aktivieren Sie das Kontrollkästchen Benachrichtigung.

    • Geben Sie im Kontrollkästchen Inaktivitätsalarm einen Grenzwert in Minuten ein.

Wenn die Zeitspanne den angegebenen Wert überschreitet und kein Eintrag eingegangen ist, erhalten Sie eine E-Mail.

Aufheben der Veröffentlichung und Deaktivierung der API

Wenn Sie die Veröffentlichung Ihres Datensatzes aufheben, werden die bestehenden Datensätze nicht für die nächste Veröffentlichung des Datensatzes beibehalten.

Gehen Sie wie folgt vor, um keine neuen Daten zu erhalten:

  1. Klicken Sie unter Katalog > Datensätze auf den gewünschten Datensatz.

  2. Wählen Sie bei der gewünschten Quelle action menu icon > Push deaktivieren.

Dies verhindert die Verwendung der Push-API, hat aber keine Auswirkungen auf vorhandene Daten. Wenn Daten gepusht werden, während die Push-Funktion deaktiviert ist, werden keine Daten hinzugefügt, und es wird ein Fehler gesendet.

Daten wiederherstellen

Bei Datenverlust, etwa wenn die Veröffentlichung des Datensatzes aufgehoben oder ein Prozessor falsch konfiguriert wurde, besteht die Möglichkeit, die verlorenen Einträge wiederherzustellen.

Jeder empfangene Eintrag wird gesichert und kann wiederhergestellt werden.

Gehen Sie wie folgt vor, um Einträge wiederherzustellen:

  1. Klicken Sie unter Katalog > Datensätze auf den gewünschten Datensatz.

  2. Wählen Sie bei der gewünschten Quelle action menu icon > Daten wiederherstellen.