2016-08-02 15 views
3

Gemäß der Dokumentation beträgt der maximale Aufbewahrungszeitraum für AWS SQS-Nachrichten 14 Tage. Nach dieser Zeit wird die Nachricht aus der Warteschlange gelöscht.AWS SQS-Aufbewahrungszeitraum für Nachrichten

Gibt es eine Möglichkeit mit SQS diese Nachrichten nicht zu verlieren, nachdem ihre Aufbewahrungsfrist abgelaufen ist? Zum Beispiel ist es nicht klar oder ist es möglich, Dead Letter Queue für diesen Zweck zu verwenden?

+0

ich bin neugierig, warum dies ein Problem für dich ist. Es ist nicht im typischen Anwendungsfall, dass eine Nachrichtenwarteschlange Nachrichten in der Warteschlange für Stunden, viel weniger Tage, belässt. –

+0

Ich habe Millionen von Batch-Aufgaben, die geschätzt wurden, um 1-2 Monate dauern, ich muss auch die Nachrichten in der Warteschlange nach 14 Tagen zu halten! –

Antwort

2

Nun 14 Tage ist maximale Grenze Sie können die Nachricht behalten. Nach 14 Tagen können Sie diese Massage zur Sicherung in S3 Bucket verschieben. Außerdem gibt es einen Hack, den du mit DLQ machen kannst.

Hier ist ein kurzer Hack, bei dem Sie diese Nachricht zurück an die Hauptwarteschlange senden. Dies ist definitiv nicht die beste oder empfohlene Option.

  1. die Haupt SQS-Warteschlange als DLQ für die eigentliche DLQ Set mit Maximum erhält als 1.
  2. Ansicht den Inhalt in DLQ (Dies wird die Nachrichten an die Haupt Warteschlange verschieben, da dies die DLQ ist für die tatsächliche DLQ)
  3. die Einstellung entfernen, so dass die Hauptwarteschlange nicht mehr ist die DLQ des tatsächlichen DLQ
+0

Danke für Ihre Antwort. Noch eine Frage - in welcher Form werden die Nachrichten bei S3 Bucket gesichert? Ist es ein automatischer Prozess? – alexanoid

+0

Nein es ist nicht automatisch Sie müssen Cli verwenden, um zu automatisieren und diese Nachrichten von SQS nach S3 zu verschieben – error2007s

+0

Aber AFAIK aus AWS-Dokumentation, diese Nachrichten gelöscht werden, so wie sie nach Ablauf ihrer Aufbewahrungsfrist zu sichern? – alexanoid

Verwandte Themen