Die Aufgabe für Ihre eigene Ablaufsteuerung festlegen
Planen Sie in Ihrer eigenen Infrastruktur eine begrenzte Aufgabe zum Abruf archivierter Beiträge oder Kommentare. Reddit Data Stream ist unabhängig von Reddit und liefert keine Live-Aktualisierungen. Regelmäßige Aufrufe machen die API weder zum Ereignisstrom noch zu SSE, WebSocket oder einem Änderungsfeed. Neue Inhalte zwischen Ausführungen und eine zeitliche Reihenfolge zum Erkennen aller Ergänzungen sind nicht zugesagt. Den Zeitplan führt Ihre Infrastruktur aus, nicht die API.
Legen Sie Speicherorte für Originalantwort und abgeleitete JSONL-Datei sowie eine lokale Obergrenze für Aufrufe pro Ausführung fest. Notieren Sie Route, Filter, limit und page unter Ihrer eigenen Stapelkennung. Dieses Protokoll gehört zum ETL und ist kein vom Archiv ausgegebener Cursor. Unterscheiden Sie gespeicherte Antwort, ausstehende Umwandlung und fertige Datei, damit ein Schreibfehler nicht irrtümlich als Abruffehler behandelt wird.
Verwenden Sie den letzten empfangenen created_utc-Wert nicht als Marke für neue Archiveingänge. from und to filtern die Erstellung mit YYYY-MM-DD UTC einschließlich des gesamten letzten Tages, nicht Aufnahme oder Änderung im Archiv. Kleinere Datumsbereiche können Arbeit organisieren, beweisen aber keine Vollständigkeit. Auch eine gespeicherte Seitennummer verspricht weder stabile Fortsetzung noch einmalige Zustellung zwischen Ausführungen. Halten Sie diese Grenzen bei der Planung wiederkehrender Aufgaben fest.
Die Seite vor dem Schreiben der JSONL-Datei sichern
Das Startseitenbeispiel lautet GET https://api.redditdatastream.com/v1/posts?subreddit=apacheairflow&limit=3&page=3. Es fordert Beiträge dieser Community an, höchstens drei Datensätze der dritten Seite, nicht die neuesten Beiträge. Nutzen Sie für Kommentare comments oder search mit dokumentierten Filtern. Authentifizieren Sie serverseitig mit X-API-Key: <Schlüssel> oder Authorization: Bearer <Schlüssel>. Die Schlüsselseite erläutert den Zugang vor Zahlung; schließen Sie Geheimnisse aus Dateien und Protokollen aus.
Prüfen Sie HTTP-Status und bewahren Sie die empfangene Antwort vor Normalisierung auf. Validieren Sie anschließend data und schreiben Sie ausgewählte Datensätze mit eigenem Code als jeweils ein JSON-Objekt pro Zeile. Enthält Text Zeilenumbrüche, maskiert die JSON-Serialisierung diese innerhalb des Objekts. Bewahren Sie pagination und credits als getrennte Metadaten auf. Die Route liefert JSON, keine JSONL-Datei, keinen Massendownload und kein verwaltetes Speicherziel für Ihren ETL-Prozess.
Optionale Felder können fehlen und Verweise auf nicht empfangene Daten zeigen. Vorhandene parent_id und link_id erlauben lokale Beziehungen, ohne vollständige Gesprächsbäume oder Suchfilter für diese Kennungen. Definieren Sie den Umgang mit Datensätzen, die Ihre Umwandlung ablehnt, und halten Sie die Gründe fest. Ist die Antwort bereits gespeichert, verarbeiten Sie diese Kopie erneut zur Dateireparatur. Das ruft keine API auf und erstattet den Credit des ursprünglichen Erfolgs nicht.
Stapel begrenzen und Kosten unterscheiden
Bei Inhaltsrouten reichen limit und page von 1 bis 100, eine Anfrage pro Seite. _doc sortiert weder nach Zeit noch Relevanz oder Punktestand; min_score setzt nur einen numerischen Schwellenwert. Lesen Sie total mit relation: eq ist exakt für die Abfrage, gte eine Untergrenze und unknown unzuverlässig, möglicherweise null. Speichern Sie has_more und window_exhausted, beachten Sie die Grenze und protokollieren Sie den Abbruchpunkt. Versprechen Sie weder Vollständigkeit noch eindeutige Datensätze.
Ein leerer erfolgreicher Abruf erzeugt keine data-Zeilen, aber einen Stapelvermerk und Kosten. Korrigieren Sie Parameter bei 400, prüfen Sie Schlüssel und Domain bei 401, Guthaben bei 402 und nutzen Sie Pausen sowie begrenzte Versuche bei 429. /v1/status ist öffentlich und kostenfrei, beschreibt aber nur statisch den Dienst und bestätigt eine HTTP-Antwort. Die Route prüft weder Suche noch Ihre Dateien oder Aufgaben und liefert keinen Nachweis einer erfolgreichen Fortsetzung.
Jeder erfolgreiche Abruf kostet einen Credit, auch leer oder wiederholt: $1 für 1000 Anfragen. Die Mindestaufladung beträgt $50 für 50000 bezahlte Credits, die 100 Testcredits sind bedingt. Ungültige Anfragen belasten nicht; Fehler beim Quelldienst erstatten die Reservierung. Ein Verbindungsabbruch kann einen berechneten Erfolg verdecken, und ein weiterer erfolgreicher Abruf kostet erneut. Ein lokaler Fehler erstattet ihn nicht. Dokumentation und Preise helfen, Seiten, Tests und neue Abrufe von lokaler Verarbeitung getrennt zu budgetieren. Datumsaufteilung und Deduplizierung beweisen keine Vollständigkeit.