F: Was ist Amazon SQS?

Mit dem Web-Service Amazon Simple Queue Service (Amazon SQS) haben Sie Zugriff auf eine Warteschlange, in der Nachrichten für die weitere Bearbeitung bereitgehalten werden. Mit Amazon SQS können Sie schnell Anwendungen für Nachrichtenwarteschlangen erstellen, die auf jedem Computer mit Internetverbindung ausgeführt werden können.

Amazon SQS bietet eine zuverlässige, hochgradig skalierbare, gehostete Warteschlange zum Speichern von Nachrichten, während diese zwischen Computern weitergeleitet werden. Mit Amazon SQS können Sie Daten zwischen verteilten Anwendungskomponenten, die verschiedene Aufgaben ausführen, verschieben. Dabei gehen keine Nachrichten verloren und es muss nicht jede Komponente stets verfügbar sein.

Amazon SQS vereinfacht das Erstellen einer verteilten Anwendung mit entkoppelten Komponenten und arbeitet eng mit Amazon Elastic Compute Cloud (Amazon EC2) und anderen AWS-Infrastruktur-Web-Services zusammen.

F: Was kann ich mit Amazon SQS tun?

Da Amazon SQS hoch skalierbar ist, bezahlen Sie nur für Leistungen, die Sie tatsächlich verwenden. Sie können klein anfangen und Ihre Anwendung je nach Ihren Geschäftsanforderungen erweitern, ohne dabei Kompromisse bei der Leistung oder Zuverlässigkeit in Kauf nehmen zu müssen. Mit Amazon SQS brauchen Sie sich keine Gedanken über die Speicherung und Verwaltung der Nachrichten zu machen. Sie können sich darauf konzentrieren, stabile, hochentwickelte Anwendungen zu erstellen, die mit Messaging-Funktionen arbeiten.

Einige Ideen dazu:

  • Sie können Amazon SQS in andere AWS-Services integrieren, um Anwendungen zuverlässiger und flexibler zu gestalten.
  • Verwenden Sie Amazon SQS, um Warteschlangen mit Arbeitselementen zu erstellen, in der jede Nachricht eine Aufgabe darstellt, die durch einen Vorgang erledigt werden muss. Computer können die Aufgaben aus der Nachrichtenwarteschlange lesen und sie verarbeiten.
  • Erstellen Sie eine Mikrodienstarchitektur, indem Sie die Mikrodienste mit Nachrichtenwarteschlangen verbinden.
  • Bewahren Sie Nachrichten zu wichtigen Ereignissen in einem Geschäftsprozess in einer Amazon SQS-Nachrichtenwarteschlange auf. Zu jedem Ereignis kann es eine entsprechende Nachricht in einer Nachrichtenwarteschlange geben. Anwendungen, für die das Ereignis von Relevanz ist, können die Nachrichten abrufen und verarbeiten.

F: Was sind die ersten Schritte mit Amazon SQS?

Sie können eine Amazon SQS-Warteschlange erstellen und in wenigen Schritten eine Nachricht versenden.

  1. Wählen Sie in der AWS Management Console SQS aus.
  2. Überprüfen Sie auf der Seite Create New Queue, ob Sie sich in der richtigen Region befinden, und geben Sie dann den Queue Name ein, z. B. Meine Warteschlange.
  3. Prüfen Sie die Beschreibungen zu Standardwarteschlange und FIFO-Warteschlange und wählen Sie dann einen Warteschlangentyp aus.
  4. Wählen Sie Quick-Create Queue.
    Ihre Warteschlange wurde erstellt.
  5. Wählen Sie Go to Dashboard.
    Ihre neue Warteschlange ist in der Liste der Warteschlangen ausgewählt.
  6. Wählen Sie in der Dropdown-Liste Queue Actions Send a Message aus.
    Das Dialogfeld Send a Message to Meine Warteschlange wird angezeigt.
  7. Versenden Sie Ihre Nachricht.
    • Um eine Nachricht an eine Standardwarteschlange zu senden, geben Sie Text in das Feld Message Body ein und wählen Sie dann Send Message.
    • Um eine Nachricht an eine FIFO-Warteschlange zu senden, geben Sie den Text in das Feld Message Body ein, geben Sie die Message Group ID (Pflichtfeld) und die Message Deduplication ID (Pflichtfeld) ein und wählen Sie dann Send Message.
    Die Nachricht wird gesendet und eine Bestätigung mit den Attributen der Nachricht wird angezeigt.
  8. Wählen Sie Close, um den Vorgang zu beenden.

Weitere Informationen finden Sie im Amazon SQS-Entwicklerhandbuch und im Beispiel-Code im Ressourcencenter.

F: Welche Vorteile hat Amazon SQS gegenüber eigenen oder in Paketen enthaltenen Systemen für Nachrichtenwarteschlangen?

Amazon SQS bietet zahlreiche Vorteile gegenüber der Entwicklung eigener Software für die Verwaltung von Nachrichtenwarteschlangen oder gegenüber der Verwendung kommerzieller Open-Source-Warteschlangensysteme, bei denen ein großer Aufwand an Vorbereitungszeit für die Entwicklung und Konfiguration erforderlich ist.

Für diese Alternativen benötigen Sie auch Ressourcen für die Hardwarewartung und die Systemadministration. Die Komplexität der Konfiguration und Verwaltung dieser Systeme erhöht sich, wenn sie so konfiguriert werden müssen, dass sie eine redundante Speicherung der Mitteilungen sicherstellen, damit diese bei Hardware-Ausfällen nicht verloren gehen.

Im Gegensatz dazu sind bei Amazon SQS kein administrativer Aufwand und nur eine geringfügige Konfiguration erforderlich. Amazon SQS bietet eine umfassende Skalierung und verarbeitet mehrere Milliarden Nachrichten pro Tag. Sie können den Datenverkehr, der an Amazon SQS gesendet wird, ohne Konfigurationen skalieren. Amazon SQS bietet eine extrem hohe Nachrichtenbeständigkeit, die Ihnen und Ihren Stakeholdern zusätzliche Sicherheit bietet.

F: Verfügt Amazon SQS über eine Nachrichtensortierung?

Ja. FIFO-Warteschlangen (First-in-First-out) erhalten die genaue Reihenfolge, in der die Nachrichten gesendet und empfangen wurden. Wenn Sie eine FIFO-Warteschlange verwenden, müssen Sie in Ihren Nachrichten keine Informationen zur Reihenfolge angeben. Weitere Informationen finden Sie unter FIFO Queue Logic im Amazon SQS-Entwicklerhandbuch.

Standardwarteschlangen bieten eine lockere FIFO-Funktion, die versucht, die Reihenfolge der Nachrichten zu bewahren. Da Standardwarteschlangen jedoch für eine umfassende Skalierung unter Verwendung einer stark verteilten Architektur ausgelegt sind, kann der Empfang von Nachrichten in der genauen Reihenfolge, in der sie gesendet wurden, nicht garantiert werden.

F: Wird bei Amazon SQS die Zustellung von Nachrichten garantiert?

Standardwarteschlangen verfügen über die mindestens einmal erfolgende Zustellung, d. h. alle Nachrichten werden mindestens einmal zugestellt.

FIFO-Warteschlangen stellen die garantierte einmalige Verarbeitung zur Verfügung, d. h. dass jede Nachricht einmal zugestellt wird und solange verfügbar bleibt, bis sie der Verbraucher bearbeitet oder löscht. Duplikate werden nicht in die Warteschlange aufgenommen.

 

F: Wie unterscheidet sich Amazon SQS von Amazon SWF?

Amazon SQS und Amazon SWF sind beides Dienste, die die Integration von Anwendungen und Mikrodiensten vereinfachen:

  • Amazon Simple Queue Service (Amazon SQS) bietet zuverlässige, hoch skalierbare, gehostete Warteschlangen zum Speichern von Nachrichten, während diese zwischen Anwendungen oder Mikrodiensten weitergeleitet werden. Mit Amazon SQS können Sie Daten zwischen verteilten Anwendungskomponenten verschieben und diese Komponenten somit leichter entkoppeln.
  • Amazon Simple Workflow Service (Amazon SWF) ist ein Web-Service, der die Koordinierung von Arbeit über verteilte Anwendungskomponenten hinweg erleichtert.

Folgende Hauptunterschiede bestehen zwischen Amazon SQS und Amazon SWF:

  • API-Aktionen von Amazon SWF sind Task-orientiert. API-Aktionen von Amazon SQS sind nachrichtenorientiert.
  • Amazon SWF verfolgt alle Tasks und Ereignisse in einer Anwendung nach. Mit Amazon SQS müssen Sie Ihr eigenes Tracking auf Anwendungsebene implementieren, insbesondere, wenn Ihre Anwendung mehrere Warteschlangen nutzt.
  • Die Amazon SWF-Konsole und die Sichtbarkeits-APIs bieten eine anwendungszentrierte Ansicht, mit der Sie nach Ausführungen suchen, Details einer Ausführung anzeigen und Ausführungen verwalten können. Bei Amazon SQS müssen solche zusätzlichen Funktionen implementiert werden.
  • Amazon SWF bietet zahlreiche Funktionen, die die Anwendungsentwicklung erleichtern, z. B. die Übergabe von Daten zwischen Tasks, Signale und Flexibilität bei der Verteilung von Tasks. Bei Amazon SQS müssen Sie manche Funktionen auf Anwendungsebene implementieren.
  • Neben einer Kern-SDK zum Aufrufen der Service-APIs stellt Amazon SWF das AWS Flow Framework bereit, mit dem Sie verteilte Anwendungen unter Verwendung von Programmierungskonstrukten zum Strukturieren asynchroner Interaktionen erstellen können.

Während Sie Amazon SQS einsetzen können, um grundlegende Workflows zur Koordinierung Ihrer verteilten Anwendung zu erstellen, gibt es diese Funktionalität bei Amazon SWF neben anderen Funktionen auf Anwendungsebene zum sofortigen Einsatz.

Machen Sie sich mit Amazon SQS und mit Amazon SWF vertraut, um entscheiden zu können, welche Lösung Ihren Anforderungen entspricht.

F: Wie unterscheidet sich Amazon SQS von Amazon Kinesis Streams?

Amazon SQS bietet eine zuverlässige, hoch skalierbare, gehostete Warteschlange zum Speichern von Nachrichten, während diese zwischen Anwendungen oder Mikrodiensten weitergeleitet werden. Daten werden zwischen verteilten Anwendungskomponenten verschoben, wodurch Ihnen die Entkoppelung dieser Komponenten erleichtert wird. Amazon SQS bietet übliche Middleware-Konstrukte, wie etwa Warteschlangen für unzustellbare Nachrichten und die Poison-Pill-Verwaltung. Es bietet auch eine generische Web-Services-API und ist über alle Programmiersprachen zugänglich, die von der AWS SDK unterstützt werden. Amazon SQS unterstützt sowohl Standard- als auch FIFO-Warteschlangen.

Verwenden Sie Amazon SQS, wenn jede getrennte Nachricht nur einmal verarbeitet werden soll, sowie in folgenden Fällen:

  • Entkoppeln der Komponenten einer Anwendung: Sie haben eine Warteschlange mit Aufgabenelementen und möchten den erfolgreichen Abschluss jedes einzelnen Elements unabhängig verfolgen. Amazon SQS verfolgt die Bestätigungs-/Ablehnungsergebnisse nach, sodass die Anwendung keinen ständigen Checkpoint oder Cursor aufrechterhalten muss. Nach einer konfigurierten Zeitbeschränkung für die Sichtbarkeit löscht Amazon SQS bestätigte Nachrichten und liefert abgelehnte Nachrichten erneut aus.
  • Konfigurieren einer individuellen Nachrichtenverzögerung: Sie haben eine Job-Warteschlange und müssen einzelne Jobs mit einer Verzögerung einplanen. Bei Amazon SQS können Sie einzelne Nachrichten mit einer Verzögerung von bis zu 15 Minuten konfigurieren.
  • Dynamisches Erhöhen der Gleichzeitigkeit oder des Durchsatzes beim Lesen: Sie haben eine Aufgabenwarteschlange und möchten mehr Leser hinzufügen, bis der Rückstand aufgeholt ist. Bei Amazon Kinesis Streams können Sie bis zu einer ausreichenden Anzahl von Shards vertikal skalieren (allerdings müssen Sie im Voraus eine ausreichende Anzahl von Shards bereitstellen). Bei Amazon SQS ist keine Vorab-Bereitstellung erforderlich.
  • Transparent skalieren: Sie puffern Anfragen und die Last ändert sich je nach den gelegentlichen Lastspitzen oder dem natürlichen Wachstum Ihres Unternehmens. Da Amazon SQS jede gepufferte Anfrage unabhängig verarbeiten kann, kann Amazon SQS transparent skalieren, um sich der Last anzupassen, ohne dass Sie Anweisungen bereitstellen müssen.

Amazon Kinesis Streams bietet die Möglichkeit, riesige Mengen von Streaming-Daten in Echtzeit zu verarbeiten und Datensätze zu lesen bzw. an mehrere Amazon Kinesis-Anwendungen wiederzugeben. Die Amazon Kinesis Client Library (KCL) liefert sämtliche Datensätze für einen bestimmten Partitionsschlüssel an denselben Datensatzprozessor, wodurch es einfacher wird, mehrere Anwendungen aufzubauen, die denselben Amazon Kinesis-Stream lesen (etwa um eine Zählung, Aggregation und Filterung durchzuführen).

Verwenden Sie Amazon Kinesis Streams, wenn mehreren Verbrauchern die Verarbeitung jedes einzelnen Datensatzes ermöglicht werden soll, sowie in folgenden Fällen:

  • Routing von zusammengehörigen Datensätzen zum selben Datensatzprozessor: Sie streamen MapReduce. Aktionen wie etwa das Zählen und Aggregieren sind einfacher, wenn alle Datensätze für einen bestimmten Schlüssel an denselben Datensatzprozessor geleitet werden.
  • Mehreren Anwendungen das gleichzeitige Nutzen desselben Streams ermöglichen: Sie haben eine Anwendung, die ein Echtzeit-Dashboard aktualisiert, und eine andere Anwendung, die Daten in Amazon Redshift archiviert. Sie möchten, dass beide Anwendungen gleichzeitig und unabhängig Daten aus demselben Stream konsumieren.

F: Nutzt Amazon für seine eigenen Anwendungen auch Amazon SQS?

Ja. Amazon-Entwickler verwenden Amazon SQS für eine Reihe von Anwendungen, die große Mengen von Nachrichten täglich verarbeiten. Wichtige Geschäftsprozesse sowohl bei Amazon.com als auch bei Amazon Web Services verwenden Amazon SQS.


F: Was kann ich mit dem kostenlosen Kontingent für Amazon SQS tun?

Im kostenlosen Kontingent für Amazon SQS sind 1 Mio. Anforderungen pro Monat kostenlos enthalten.

Zahlreiche kleinere Anwendungen können vollständig innerhalb der Grenzen dieser kostenlosen Stufe betrieben werden. Allerdings fallen möglicherweise weiterhin Datenübertragungsgebühren an. Weitere Informationen dazu finden Sie unter Amazon SQS – Preise.

Das kostenlose Kontingent ist ein monatliches Angebot. Die kostenlose Nutzung ist nicht monatsübergreifend kumulierbar.

F: Wie viel kostet Amazon SQS?

Sie zahlen nur für das, was Sie auch tatsächlich nutzen. Dabei fallen keine Mindestgebühren an.

Die Kosten für Amazon SQS werden aus den Kosten pro Anforderung plus den Datenübertragungskosten für die aus Amazon SQS ausgelesenen Daten berechnet (ausgenommen Daten werden an Amazon EC2 Instances oder an AWS Lambda-Funktionen in derselben Region übertragen). Weitere Informationen zur genauen Kostenaufschlüsselung des jeweiligen Warteschlangentyps und der Region finden Sie unter Amazon SQS – Preise.

F: Fallen für alle meine Amazon SQS-Anforderungen Kosten an?

Ja, für alle Anforderungen, die über das kostenlose Kontingent hinausgehen. Alle Amazon SQS-Anforderungen verursachen Kosten und werden zu derselben Gebühr verrechnet.

F: Kosten Amazon SQS-Stapelvorgänge mehr als andere Anforderungen?

Nein. Stapelvorgänge (SendMessageBatch, DeleteMessageBatch und ChangeMessageVisibilityBatch) kosten genauso viel wie andere Amazon SQS-Anforderungen. Durch die Gruppierung von Nachrichten in Stapel können Sie Ihre Kosten senken.

F: Wie wird mir Amazon SQS in Rechnung gestellt?

Es gibt keine Einrichtungsgebühren für die Nutzung von Amazon SQS. Nach Ende eines Monats wird Ihre Kreditkarte automatisch mit den Nutzungsgebühren für den betreffenden Monat belastet.

Sie können die Gebühren für den aktuellen Abrechnungszeitraum jederzeit auf der AWS-Website anzeigen:

  1. Melden Sie sich bei Ihrem AWS-Konto an.
  2. Wählen Sie unter Mein Web Services-Konto die Option Kontoaktivität.

F: Sind Steuern bereits in den Preisen enthalten?

Falls nicht anders angegeben, gelten unsere Preise zuzüglich geltender Steuern und Abgaben, darunter MwSt. und Umsatzsteuer.

Bei Kunden mit japanischer Rechnungsadresse unterliegt die Nutzung in jeder Region der japanischen Verbrauchssteuer. Weitere Informationen finden Sie unter den häufigen Fragen für Verbrauchsteuern in Amazon Web Services.


F: Was sind die Unterschiede zwischen einer Standardwarteschlange und einer FIFO-Warteschlange?

Standardwarteschlangen

Amazon SQS stellt Standardwarteschlangen als Standardtyp zur Verfügung. Mit einer Standardwarteschlange haben Sie eine beinahe unbegrenzte Anzahl von Transaktionen pro Sekunde zur Verfügung. Bei Standardwarteschlangen wird die mindestens einmal erfolgende Zustellung von Nachrichten garantiert. Gelegentlich kann es jedoch vorkommen, dass (aufgrund der hoch verteilten Architektur, die den hohen Durchsatz ermöglicht) mehr als eine Kopie einer Nachricht nicht der Reihenfolge nach zugestellt wird. Standardwarteschlangen bieten eine Sortierung mit bester Leistung, die sicherstellt, dass Nachrichten prinzipiell in der gleichen Reihenfolge zugestellt werden, wie sie gesendet wurden.

HTQv2

Sie können Standardwarteschlangen für Nachrichten in vielen Bereichen einsetzen, sofern Ihre Anwendung Nachrichten verarbeiten kann, die mehr als einmal und nicht der Reihenfolge nach eingehen, z. B.:

  • Echtzeit-Benutzeranfragen von intensiven Hintergrundaufgaben entkoppeln: Benutzer können Medien hochladen, während diese skaliert und verschlüsselt werden.
  • Aufgaben mehreren Worker-Knoten zuweisen: Eine hohe Anzahl von Kreditkarten-Validierungsanfragen können verarbeitet werden.
  • Stapelnachrichten für zukünftige Verarbeitung: Mehrere Einträge können für das Hinzufügen zu einer Datenbank geplant werden.

FIFO-Warteschlangen

Die FIFO-Warteschlange ergänzt die Standardwarteschlange. Die wichtigsten Funktionen dieses Warteschlangentyps sind die FIFO-Zustellung (First-in-First-out) und die garantierte einmalige Verarbeitung: Die Reihenfolge, in der Nachrichten gesendet und empfangen werden, wird strikt eingehalten und eine Nachricht wird einmal zugestellt und bleibt verfügbar, bis sie der Verbraucher bearbeitet oder löscht; Duplikate werden nicht in die Warteschlange aufgenommen. FIFO-Warteschlangen unterstützen zudem Nachrichtengruppen, die mehrere geordnete Nachrichtengruppen innerhalb einer einzigen Warteschlange ermöglichen. FIFO-Warteschlangen sind auf 300 Transaktionen pro Sekunde (TPS) beschränkt, ansonsten enthalten sie jedoch alle Funktionen, die Standardwarteschlangen bieten.
 

SOQ



FIFO-Warteschlangen sind darauf ausgelegt, die Nachrichtenübermittlung zwischen Anwendungen zu verbessern, wenn die Reihenfolge der Vorgänge und Ereignisse entscheidend ist oder Duplikate nicht toleriert werden können, z. B.:

  • Sicherstellen, dass vom Benutzer eingegebene Befehle in der richtigen Reihenfolge ausgeführt werden.
  • Anzeigen des richtigen Produktpreises, indem Preisänderungen in der richtigen Reihenfolge gesendet werden.
  • Vermeiden, dass sich ein Kursteilnehmer für einen Kurs anmeldet, bevor dieser sich für ein Konto registriert hat.

F: In welchen Regionen sind FIFO-Warteschlangen verfügbar?

FIFO-Warteschlangen sind derzeit in den Regionen USA Ost (Ohio) und USA West (Oregon) verfügbar. In den kommenden Monaten wird diese Funktion in weiteren Regionen bereitgestellt.

F: Wie viele Kopien einer Nachricht werde ich empfangen?

FIFO-Warteschlangen sind darauf ausgelegt, niemals Duplikate von Nachrichten aufzunehmen. Dennoch kann der Produzent Ihrer Nachricht das Aufnehmen von Duplikaten in bestimmten Szenarien herbeiführen: Wenn der Produzent beispielsweise eine Nachricht sendet, keine Antwort erhält, und dieselbe Nachricht erneut sendet. APIs von Amazon SQS bieten eine Deduplizierungsfunktion, die das Senden von Duplikaten beim Produzenten Ihrer Nachricht verhindern. Alle Duplikate, die vom Produzenten der Nachricht eingebracht wurden, werden innerhalb eines 5-minütigen Deduplizierungsintervalls entfernt.

Bei Standardwarteschlangen kann es gelegentlich vorkommen, dass Sie eine doppelte Kopie einer Nachricht erhalten (mindestens einmal erfolgende Zustellung). Wenn Sie eine Standardwarteschlange verwenden, müssen Ihre Anwendungen idempotent sein (d. h. die mehrmalige Verarbeitung derselben Nachricht darf die Anwendung nicht nachteilig beeinflussen).

F: Werden die Amazon SQS-Warteschlangen, die ich zuvor verwendet habe, auf FIFO-Warteschlangen umgestellt?

Nein. Amazon SQS-Standardwarteschlangen (dies ist der neue Name für bestehende Warteschlangen) bleiben unverändert und Sie können weiterhin neue Standardwarteschlangen erstellen. Diese Warteschlangen bieten weiterhin die höchste Skalierbarkeit und den höchsten Durchsatz; jedoch haben Sie hier keine Zustellungsgarantien und es können Duplikate vorkommen.

Standardwarteschlangen sind für viele Bereiche geeignet, wie etwa für die Aufgabenverteilung mit mehreren idempotenten Verbrauchern.

F: Kann ich meine bestehende Standardwarteschlange in eine FIFO-Warteschlange umwandeln?

Nein. Sie müssen den Warteschlangentyp auswählen, wenn Sie die Warteschlange erstellen. Dennoch ist es möglich, die Warteschlange in eine FIFO-Warteschlange zu verschieben. Weitere Informationen finden Sie unter Moving From a Standard Queue to a FIFO Queue im Amazon SQS-Entwicklerhandbuch.

F: Sind Amazon SQS-FIFO-Warteschlangen rückwärtskompatibel?

Um die Funktionen der FIFO-Warteschlange nutzen zu können, müssen Sie die neuste AWS SDK verwenden.

FIFO-Warteschlangen verwenden die gleichen API-Aktionen wie Standardwarteschlangen; die Mechanismen für den Empfang und das Löschen von Nachrichten sowie für das Ändern der Zeitbeschränkung für die Sichtbarkeit sind dieselben. Jedoch müssen Sie beim Senden von Nachrichten eine Nachrichtengruppen-ID angeben. Weitere Informationen finden Sie unter FIFO Queue Logic im Amazon SQS-Entwicklerhandbuch.

Wichtig: Sie können eine bestehende Standardwarteschlange nicht in eine FIFO-Warteschlange umwandeln. Um Ihre Warteschlange zu verschieben, müssen Sie entweder eine neue FIFO-Warteschlange für Ihre Anwendung erstellen oder Ihre bestehende Standardwarteschlange löschen und diese als FIFO-Warteschlange neu erstellen. Weitere Informationen finden Sie unter Moving From a Standard Queue to a FIFO Queue im Amazon SQS-Entwicklerhandbuch.

F: Sind FIFO-Warteschlangen von Amazon SQS mit dem Amazon Simple Notification Service (SNS) kompatibel?

Amazon SNS unterstützt das Weiterleiten von Nachrichten an FIFO-Warteschlangen derzeit nicht. Sie können SNS verwenden, um Nachrichten an Standardwarteschlangen weiterzuleiten.

F: Sind FIFO-Warteschlangen von Amazon SQS mit dem Amazon SQS Buffered Asynchronous Client, der Amazon SQS Extended Client Library für Java oder dem Amazon SQS Java Message Service (JMS) Client kompatibel?

Derzeit nicht. Die Aktualisierung dieser Client-Bibliotheken ist zu einem späteren Zeitpunkt vorgesehen. Sie können diese Clients weiterhin mit Amazon SQS-Standardwarteschlangen verwenden.

F: Welche Metriken von AWS CloudWatch werden von Amazon SQS-FIFO-Warteschlangen unterstützt?

FIFO-Warteschlangen unterstützen alle Metriken, die von Standardwarteschlangen unterstützt werden. Bei FIFO-Warteschlangen liefern alle approximativen Metriken genaue Zählungen. Beispielsweise werden folgende Metriken von AWS CloudWatch unterstützt:

  • ApproximateNumberOfMessagesDelayed – Die Anzahl der Nachrichten in der Warteschlange, die verzögert und zum Lesen nicht sofort verfügbar sind.
  • ApproximateNumberOfMessagesVisible – Die Anzahl der Nachrichten, die für das Abrufen aus der Warteschlange verfügbar sind.
  • ApproximateNumberOfMessagesNotVisible – Die Anzahl der Nachrichten, die sich in der Übertragung befinden (Nachrichten, die an einen Client gesendet, aber noch nicht gelöscht wurden, oder das Ende des Zeitfensters für die Sichtbarkeit noch nicht erreicht haben).

F: Was sind Nachrichtengruppen?

Nachrichten werden innerhalb einer FIFO-Warteschlange in getrennten, sortierten „Paketen“ gruppiert. Für jede Nachrichtengruppen-ID werden alle Nachrichten in einer strikten Reihenfolge gesendet und empfangen. Nachrichten mit anderen Werten der Nachrichtengruppen-ID werden jedoch möglicherweise nicht der Reihenfolge nach gesendet und empfangen. Sie müssen die Nachrichtengruppen-ID einer Nachricht zuordnen. Wenn Sie keine Nachrichtengruppen-ID angeben, schlägt die Aktion fehl.

Wenn mehrere Hosts (oder verschiedene Threads auf dem gleichen Host) Nachrichten mit der gleichen Nachrichtengruppen-ID an eine FIFO-Warteschlange senden, stellt Amazon SQS die Nachrichten in der Reihenfolge zu, in der sie für die Verarbeitung eingehen. Um sicherzustellen, dass Amazon SQS die Reihenfolge einhält, in der die Nachrichten gesendet und empfangen werden, muss darauf geachtet werden, dass mehrere Sender jede getrennte Nachricht mit einer individuellen Nachrichtengruppen-ID versenden.  

F: Unterstützen FIFO-Warteschlangen von Amazon SQS mehrere Produzenten?

Ja. Ein oder mehrere Produzenten können Nachrichten an eine FIFO-Warteschlange senden. Nachrichten werden in der Reihenfolge gespeichert, in der sie von Amazon SQS erfolgreich empfangen wurden.

Wenn mehrere Produzenten Nachrichten parallel senden, ohne auf die Erfolgsmeldung der Aktionen "SendMessage" oder "SendMessageBatch" zu warten, wird die Reihenfolge zwischen den Produzenten möglicherweise nicht eingehalten. Die Meldung der Aktionen "SendMessage" oder "SendMessageBatch" enthält die endgültige Sortierungsreihenfolge, die FIFO-Warteschlangen verwenden, um die Nachrichten in die Warteschlange aufzunehmen; somit kann die endgültige Reihenfolge der Nachrichten in der Warteschlange mithilfe Ihres Multiple-Parallel-Producer-Codes bestimmt werden.

F: Unterstützen FIFO-Warteschlangen von Amazon SQS mehrere Verbraucher?

Ja. Wir empfehlen, einen einzelnen Verbraucher pro Nachrichtengruppe zu verwenden, um die Verarbeitung der Nachrichten in der richtigen Reihenfolge zu unterstützen. FIFO-Warteschlangen bieten zusätzliche Optionen von "ReceiveMessage", die Szenarien mit mehreren Verbrauchern unterstützen:

  • In hochverfügbaren Einzelverbraucher-Systemen, in denen zwei oder mehr Verbraucher um die nächste Nachricht in der Warteschlange konkurrieren, können Sie die Warteschlange so konfigurieren, dass die Nachrichten für die anderen Verbraucher erst sichtbar werden, wenn die laufende Nachricht ("inflight") gelöscht wird oder die Zeitbeschränkung für die Sichtbarkeit abgelaufen ist. Auf diese Weise verarbeitet nur einer der Verbraucher den nächsten Nachrichtenstapel. Andere Nachrichten müssen warten, bis der Verbraucher die Verarbeitung beendet oder diese fehlgeschlagen ist.
  • Bei der parallelen Nachrichtenverarbeitung, in der mehrere Verbraucher Nachrichten erhalten, obwohl eine FIFO-Warteschlange Nachrichten der Reihenfolge nach zurückgibt, kann es vorkommen, dass Ihre Verbraucher die Nachrichten aufgrund von Netzwerkproblemen nicht der Reihenfolge nach sehen.

F: Kann ich bei FIFO-Warteschlangen eine Warteschlange für unzustellbare Nachrichten verwenden?

Ja. Jedoch müssen Sie bei einer FIFO-Warteschlange eine FIFO-Warteschlange für unzustellbare Nachrichten verwenden. (Ebenso können Sie bei einer Standardwarteschlange nur eine Standardwarteschlange für unzustellbare Nachrichten verwenden.)

F: Wie hoch ist die Durchsatzbegrenzung für eine Amazon SQS-FIFO-Warteschlange?

Eine einzelne FIFO-Warteschlange unterstützt derzeit einen Durchsatz von bis zu 300 Transaktionen pro Sekunde (TPS). (Eine Standardwarteschlange hat einen unbegrenzten Durchsatz.)


F: Kann ich Amazon SQS zusammen mit anderen AWS-Services verwenden?

Ja. Sie können Ihre Anwendungen flexibler und skalierbarer machen, indem Sie Amazon SQS mit Datenverarbeitungsdiensten wie Amazon EC2, Amazon EC2 Container Service (Amazon ECS) und AWS Lambda sowie mit Speicher- und Datenbankdiensten wie Amazon Simple Storage Service (Amazon S3) und Amazon DynamoDB nutzen.

Ein üblicher Anwendungsfall ist das Erstellen einer verteilten, entkoppelten Anwendung, bei der mehrere Komponenten oder Module miteinander kommunizieren müssen, jedoch nicht alle dieselbe Menge Arbeit gleichzeitig verarbeiten können. In diesem Fall enthalten die Amazon SQS-Nachrichtenwarteschlangen die Nachrichten, die durch die auf Amazon EC2-Instanzen ausgeführte Anwendung des Nutzers verarbeitet werden sollen.

Die Amazon EC2-Instances können die Nachrichtenwarteschlange lesen, die Aufgabe verarbeiten und anschließend die Ergebnisse als Nachrichten an eine andere Amazon SQS-Nachrichtenwarteschlange weitergeben (etwa für die weitere Verarbeitung durch eine andere Anwendung). Da Amazon EC2 die dynamische Skalierung von Anwendungen nach oben und nach unten zulässt, können Anwendungsentwickler die Anzahl der Recheninstanzen einfach durch automatische Skalierung anhand der Nachrichten in den Amazon SQS-Warteschlangen variieren, um sicherzustellen, dass Aufgaben in einem angemessenen Zeitraum ausgeführt werden.

F: Können Sie mir einen Anwendungsfall für die Nutzung von Amazon SQS nennen?

Eine Videoumschlüsselungs-Website verwendet Amazon EC2, Amazon SQS, Amazon S3 und Amazon DynamoDB gemeinsam:

  1. Endanwender übertragen Videos zur Umschlüsselung an die Website.
  2. Die Videos werden in Amazon S3 gespeichert und eine Anforderungsnachricht wird in einer Amazon SQS-Warteschlange mit einem Pointer auf das Video und auf das Zielformat des Videos abgelegt.
  3. Die auf einem Verbund aus Amazon EC2-Instances ausgeführte Umschlüsselungs-Engine liest die Anforderungsmitteilung aus der Eingangswarteschlange, ruft die Videos mithilfe des Pointers von Amazon S3 ab und schlüsselt das Video in das Zielformat um.
  4. Das konvertierte Video wird zurück in Amazon S3 abgelegt und eine andere Antwortnachricht wird in einer anderen Amazon SQS-Warteschlange mit einem Pointer auf das konvertierte Video platziert.
  5. Gleichzeitig werden Metadaten zum Video (Format, Erstellungsdatum, Länge usw.) zur Abfragedurchführung in Amazon DynamoDB indiziert.

Während dieses Workflows kann eine dedizierte Auto Scaling-Instance die Eingangswarteschlange laufend überwachen. Basierend auf der Anzahl der Nachrichten in der Eingangswarteschlange, passt die Auto Scaling-Funktion die Anzahl der umschlüsselnden Amazon EC2-Instances dynamisch an, um den Kundenanforderungen bezüglich der Reaktionszeit der Website gerecht zu werden.

F: Wie erfolgt die Interaktion mit Amazon SQS?

Sie können Amazon SQS mithilfe der AWS Management Console aufrufen, über die Sie Amazon SQS-Warteschlangen einfach erstellen und Nachrichten senden können.

Amazon SQS unterstützt auch eine Web-Services-API. Diese ist auch in die AWS SDKs integriert, wodurch Sie in Ihrer gewünschten Programmiersprache arbeiten können.

F: Welche Vorgänge sind für Nachrichtenwarteschlangen verfügbar?

Informationen über die Vorgänge in Nachrichtenwarteschlangen finden Sie unter den Amazon SQS – Produktdetails.

F: Wer kann Vorgänge für eine Nachrichtenwarteschlange durchführen?

Vorgänge in einer Amazon SQS-Nachrichtenwarteschlange können nur vom AWS-Kontoinhaber oder einem AWS-Konto ausgeführt werden, an das der Inhaber die Aufgabe delegiert hat.

F: Kann ich Java Message Service (JMS) mit Amazon SQS verwenden?

Ja. Sie können die Vorteile der Skalierbarkeit, der niedrigen Kosten und der hohen Verfügbarkeit von Amazon SQS nutzen und müssen sich keine Sorgen um den aufwendigen Betrieb eines eigenen JMS-Clusters machen.

Amazon bietet eine Amazon SQS Java-Nachrichtenbibliothek, die die Implementierung der JMS 1.1-Spezifikationen unterstützt und Amazon SQS als JMS-Anbieter verwendet. Weitere Informationen finden Sie unter Using JMS with Amazon SQS im Amazon SQS-Entwicklerhandbuch.

FIFO-Warteschlangen werden derzeit nicht vom JMS-Client unterstützt.

F: Wie werden in Amazon SQS Nachrichten identifiziert?

Alle Nachrichten verfügen über eine global eindeutige ID, die Amazon SQS zurückgibt, wenn die Nachricht an die Nachrichtenwarteschlange geliefert wird. Die ID ist für keine weiteren Vorgänge mit der Nachricht notwendig, aber sie ist nützlich, um herauszufinden, ob eine bestimmte Nachricht in der Warteschlange empfangen wurde.

Wenn Sie eine Mitteilung aus der Nachrichtenwarteschlange empfangen, enthält die Antwort eine Empfangs-Mitteilung, die für die Löschung der Mitteilung benötigt wird.

F: Wie geht Amazon SQS mit nicht erfolgreich verarbeiteten Nachrichten um?

In Amazon SQS können Sie die API oder die Konsole verwenden, um Warteschlangen für unzustellbare Nachrichten zu konfigurieren. Das sind Warteschlangen, die Nachrichten aus anderen Quellwarteschlangen empfangen.

Wenn Sie eine Warteschlange als Warteschlange für unzustellbare Nachrichen konfigurieren, empfängt diese die Nachrichten, wenn eine Höchstanzahl an Verarbeitungsversuchen nicht erreicht werden kann. Sie können Warteschlangen für unzustellbare Nachrichten einsetzen, um Nachrichten für eine spätere Analyse zu isolieren, die nicht verarbeitet werden können.

Weitere Informationen finden Sie unter "Kann ich bei FIFO-Warteschlangen eine Warteschlange für unzustellbare Nachrichten verwenden?" Amazon SQS Amazon SQS

F: Was ist eine Zeitbeschränkung für die Sichtbarkeit?

Die Zeitbeschränkung für die Sichtbarkeit ist eine Zeitspanne, während derer Amazon SQS andere Verbraucherkomponenten daran hindert, eine Nachricht zu empfangen oder zu verarbeiten. Weitere Informationen finden Sie unter Visibility Timeout im Amazon SQS-Entwicklerhandbuch.

F: Wie ermöglicht Amazon SQS mehreren Lesern den Zugriff auf dieselbe Nachrichtenwarteschlange, ohne dass Nachrichten verlorengehen oder mehrmals verarbeitet werden?

Jede Amazon SQS-Warteschlange verfügt über eine konfigurierbare Zeitbeschränkung für die Sichtbarkeit. Für eine bestimmte Zeit, nachdem eine Nachricht aus der Warteschlange gelesen wurde, ist diese Nachricht für andere Leser nicht sichtbar. Solange die Bearbeitungszeit kürzer als die Zeitbeschränkung für die Sichtbarkeit ist, wird jede Nachricht verarbeitet und gelöscht.

Sollte die Komponente, mit der die Nachricht verarbeitet wird, ausfallen oder nicht mehr verfügbar sein, wird die Nachricht nach Ablauf der Zeitbeschränkung für die Sichtbarkeit für jeden Leser wieder sichtbar. Auf diese Weise können mehrere Komponenten Nachrichten aus derselben Nachrichtenwarteschlange lesen, wobei jede andere Nachrichten verarbeitet.

F: Wie groß ist die maximale Zeitbeschränkung für die Sichtbarkeit einer Nachricht?

Die maximale Zeitbeschränkung für die Sichtbarkeit einer Amazon SQS-Nachricht beträgt 12 Stunden.

F: Unterstützt Amazon SQS Metadaten für Nachrichten?

Ja. Eine Amazon SQS-Nachricht kann bis zu 10 Metadatenattribute enthalten. Sie können Nachrichtenattribute verwenden, um den Haupttext einer Nachricht von den Metadaten zu trennen, die ihn beschreiben. Dadurch können Sie Informationen schneller und effizienter verarbeiten und speichern, da Ihre Anwendungen nicht mehr die gesamte Nachricht untersuchen müssen, um die erforderlichen Verarbeitungsschritte zu bestimmen.

Amazon SQS-Nachrichtenattribute haben das Format "Name-Typ-Wert". Unterstützte Typen sind u. a.: String, Binary und Number (einschließlich Integer, Floating Point und Double). Weitere Informationen finden Sie unter Using Amazon SQS Message Attributes im Amazon SQS-Entwicklerhandbuch.

F: Wie kann ich den Wert der Wartezeit bestimmen?

Um den Wert der Wartezeit zu bestimmen, können Sie das Attribut "SentTimestamp" anfordern, wenn Sie eine Nachricht erhalten. Die Subtraktion dieses Wertes von der aktuellen Zeit ergibt den Wert der Wartezeit.

F: Was ist die typische Latenz für SQS?

Die typischen Latenzen für SendMessage-, ReceiveMessage- und DeleteMessage-API-Anforderungen liegen im Zehner- oder unteren Hunderterbereich von Millisekunden.

F: Wie groß ist der Wert des Attributs SenderId für eine Nachricht bei anonymem Zugriff?

Wenn die AWS-Konto-ID nicht sichtbar ist, beispielsweise, wenn ein anonymer Benutzer eine Nachricht sendet, übergibt Amazon SQS die IP-Adresse.

F: Was ist eine Amazon SQS-Langabfrage?

Die Amazon SQS-Langabfrage ist eine Möglichkeit zum Abrufen von Nachrichten aus Ihren Amazon SQS-Warteschlangen. Während die normale Kurzabfrage sofort eine Rückgabe liefert, auch wenn die abgefragte Nachrichtenwarteschlange leer ist, gibt die Langabfrage erst dann eine Antwort zurück, wenn eine Nachricht in die Nachrichtenwarteschlange eingeht oder die Zeitbeschränkung der Langabfrage überschritten wird.

Die Langabfrage ermöglicht das kostengünstige Abrufen von Nachrichten aus Ihrer Amazon SQS-Warteschlange, sobald diese verfügbar sind. Die Verwendung von Langabfragen kann zur Reduzierung der SQS-Kosten beitragen, da Sie damit die Anzahl der leeren Empfangsvorgänge minimieren können. Weitere Informationen finden Sie unter Amazon SQS Long Polling im Amazon SQS-Entwicklerhandbuch.

F: Fallen für das Verwenden der SQS-Langabfrage weitere Gebühren an?

Nein. "ReceiveMessage"-Langabfragen werden genauso in Rechnung gestellt wie "ReceiveMessage"-Kurzabfragen.

F: Wann sollte ich die Amazon SQS-Langabfrage und wann die Amazon SQS-Kurzabfrage wählen?

In den meisten Fällen ist die Amazon SQS-Langabfrage im Vergleich zur Kurzabfrage die bessere Wahl. Bei Anforderungen von Langabfragen erhalten Warteschlangennutzer Nachrichten, sobald diese in Ihre Warteschlange eingehen, wobei die Anzahl leerer "ReceiveMessageResponses"-Instances verringert wird.

Die Amazon SQS-Langabfrage führt in den meisten Anwendungsfällen zu einer höheren Leistung bei geringeren Kosten. Wenn Ihre Anwendung jedoch so codiert ist, dass eine sofortige Antwort auf einen Aufruf von "ReceiveMessage" erwartet wird, können Sie ggf. nicht mit der Langabfrage arbeiten, ohne zuvor die Anwendung zu ändern.

Wenn Ihre Anwendung beispielsweise über einen einzelnen Thread zum Abfragen mehrerer Warteschlangen verfügt, funktioniert der Wechsel von der Kurz- zur Langabfrage ggf. nicht. Der Grund ist, dass der einzelne Thread bei leeren Warteschlangen die Zeitbeschränkung der Langabfrage abwartet, wodurch die Verarbeitung von Warteschlangen verzögert wird, die ggf. Nachrichten enthalten.

Bei einer solchen Anwendung hat sich bewährt, dass ein einzelner Thread nur eine Warteschlange verarbeitet, damit die Anwendung in den Genuss der Vorteile von Amazon SQS-Langabfragen kommen kann.

F: Welchen Wert sollte ich für die Zeitbeschränkung der Langabfrage wählen?

Im Allgemeinen sollten Sie maximal 20 Sekunden für eine Zeitbeschränkung der Langabfrage benutzen. Durch höhere Zeitbeschränkungswerte für die Langabfrage wird die Anzahl zurückgegebener leerer "ReceiveMessageResponses"-Instances verringert. Legen Sie deshalb den Zeitbeschränkungswert für die Langabfrage so hoch wie möglich fest.

Wenn der Maximalwert von 20 Sekunden für Ihre Anwendung geeignet ist (siehe das Beispiel in der vorigen Frage), können Sie einen kürzeren Zeitbeschränkungswert für die Langabfrage wählen (der Mindestwert ist 1 Sekunde).

Alle AWS SDKs arbeiten standardmäßig mit 20-sekündigen Langabfragen. Wenn Sie AWS SDK für den Zugriff auf Amazon SQS verwenden oder Ihr AWS SDK mit einem kürzeren Zeitbeschränkungswert konfiguriert haben, müssen Sie ggf. den Amazon SQS-Client so ändern, dass längere Anforderungen zulässig sind, oder einen kürzeren Zeitbeschränkungswert für die Langabfrage wählen.

F: Was ist der AmazonSQSBufferedAsyncClient for Java?

Der AmazonSQSBufferedAsyncClient for Java bietet eine Implementierung der AmazonSQSAsyncClient-Schnittstelle, die mehrere wichtige Funktionen hinzufügt:

  • Automatische Stapelverarbeitung mehrerer Anforderungen von Typ "SendMessage", "DeleteMessage" oder "ChangeMessageVisibility" in Stapeln des jeweiligen Typs, ohne dass die Anwendung geändert werden muss
  • Vorabruf von Nachrichten in einen lokalen Puffer, was Ihrer Anwendung die sofortige Verarbeitung von Nachrichten aus Amazon SQS ermöglicht, ohne deren Abruf abwarten zu müssen.

Durch die Kombination aus automatischer Stapelverarbeitung und Vorabruf werden der Durchsatz gesteigert und die Latenz Ihrer Anwendung verkürzt und durch das Stellen weniger Amazon SQS-Anforderungen die Kosten gesenkt. Weitere Informationen finden Sie unter Client-Side Buffering und Request Batching im Amazon SQS-Entwicklerhandbuch.

Der Amazon SQS Buffered Asynchronous Client unterstützt derzeit keine FIFO-Warteschlangen.

F: Wo kann ich den AmazonSQSBufferedAsyncClient for Java herunterladen?

Sie laden den AmazonSQSBufferedAsyncClient mit dem AWS SDK for Java herunter.

F: Muss ich meine Anwendung umcodieren, um den AmazonSQSBufferedAsyncClient verwenden zu können?

Nein. Der AmazonSQSBufferedAsyncClient wird im Austausch für den vorhandenen AmazonSQSAsyncClient implementiert.

Sie können Ihre Anwendung so ändern, dass das neueste AWS SDK verwendet wird, und die Clientkonfiguration so ändern, dass der AmazonSQSBufferedAsyncClient anstelle von AmazonSQSAsyncClient verwendet wird, damit Ihre Anwendung in den Genuss von automatischer Stapelverarbeitung und Vorabruf kommt.

F: Wie kann ich Amazon SQS-Nachrichtenwarteschlangen so abonnieren, dass Benachrichtigungen von SNS-Themen empfangen werden?

  1. Wählen Sie in der Amazon SQS-Konsole eine Amazon SQS-Standardwarteschlange aus.
  2. Wählen Sie unter Queue Actions in der Dropdown-Liste Subscribe Queue to SNS Topic aus.
  3. Wählen Sie im Dialogfeld das Thema in der Dropdown-Liste Choose a Topic aus und klicken Sie auf Subscribe.

Weitere Informationen finden Sie unter Subscribing a Queue to an Amazon SNS Topic im Amazon SQS-Entwicklerhandbuch.

F: Wie kann ich identische Nachrichten in mehreren Amazon SQS-Warteschlangen verbreiten?

  1. Verwenden Sie Amazon SNS, um ein Thema zu erstellen.
  2. Erstellen und abonnieren Sie mehrere Amazon SQS-Standardwarteschlangen für das Amazon SNS-Thema.
  3. Wenn eine Nachricht an das Amazon SNS-Thema gesendet wird, wird sie an die Amazon SQS-Nachrichtenwarteschlangen verbreitet.

Amazon SNS stellt die Nachricht allen Amazon SQS-Nachrichtenwarteschlangen zu, die das Thema abonniert haben.

F: Unterstützt Amazon SNS die mindestens einmal erfolgende Zustellung von Nachrichten an Amazon SQS-Warteschlangen?

Amazon SNS ist so konzipiert, dass jede Nachricht mindestens ein Mal an Amazon SQS-Standardwarteschlangen zugestellt wird.

F: Kann ich alle Nachrichten in einer Nachrichtenwarteschlange löschen, ohne die Nachrichtenwarteschlange selbst zu löschen?

Ja. Mit der Aktion PurgeQueue können alle Nachrichten in einer Amazon SQS-Nachrichtenwarteschlange gelöscht werden.

Wenn Sie eine Nachrichtenwarteschlange leeren, werden alle bis dahin an die Nachrichtenwarteschlange gesendeten Nachrichten gelöscht. Da die Nachrichtenwarteschlange selbst mit ihren Attributen bestehen bleibt, ist es nicht nötig, sie für die Weiterverwendung erneut zu konfigurieren.

Wenn Sie bestimmte Nachrichten löschen müssen, verwenden Sie die Aktionen DeleteMessage oder DeleteMessageBatch.


F: Wie zuverlässig ist das Speichern meiner Daten in Amazon SQS?

Amazon SQS speichert alle Nachrichtenwarteschlangen in einer einzelnen, hochverfügbaren AWS-Region mit mehreren redundanten Availability Zones (AZ), sodass ein Ausfall eines einzelnen Computers, eines Netzwerks oder einer AZ nicht zu einer Nichtverfügbarkeit der Nachrichten führt. Weitere Informationen finden Sie unter Regions and Availability Zones im Benutzerhandbuch zu Amazon Relational Database Service.

F: Wie kann ich die Nachrichten in meinen Nachrichtenwarteschlangen sichern?

Authentifizierungsmechanismen sorgen dafür, dass in Amazon SQS-Nachrichtenwarteschlangen gespeicherte Nachrichten vor unautorisiertem Zugriff geschützt sind. Sie können steuern, wer Nachrichten an eine Nachrichtenwarteschlange senden und Nachrichten von einer Nachrichtenwarteschlange empfangen darf. Für zusätzliche Sicherheit können Sie Ihre Anwendung so konzipieren, dass sie Nachrichten verschlüsselt, bevor diese in der Nachrichtenwarteschlange platziert werden.

Amazon SQS verfügt über ein eigenes ressourcenbasiertes Berechtigungssystem. Dieses verwendet Richtlinien, die in derselben Sprache wie AWS Identity and Access Management (IAM)-Richtlinien geschrieben sind. So können Sie beispielsweise wie in IAM-Richtlinien auch Variablen verwenden. Weitere Informationen finden Sie unter Amazon SQS Policy Examples im Amazon SQS-Entwicklerhandbuch.

Amazon SQS unterstützt die Protokolle HTTP over SSL (HTTPS) und Transport Layer Security (TLS). Die meisten Clients können sich automatisch abstimmen, um neuere Versionen von TLS zu verwenden, ohne dass Änderungen im Programmcode oder in der Konfiguration notwendig sind. Amazon SQS unterstützt die Versionen 1.0, 1.1 und 1.2 des Protokolls Transport Layer Security (TLS) in allen Regionen.

F: Wieso gibt es mehrere "ReceiveMessage"- und "DeleteMessage"-Vorgänge?

Wenn Amazon SQS eine Nachricht an Sie zurücksendet, bleibt diese Nachricht in der Nachrichtenwarteschlange, ganz gleich, ob Sie diese Nachricht erhalten haben oder nicht. Sie sind dafür verantwortlich, die Nachricht zu löschen. Durch die Löschanforderung bestätigen Sie, dass Sie mit der Verarbeitung der Nachricht fertig sind.

Wenn Sie die Nachricht nicht löschen, sendet sie Amazon SQS bei der nächsten Anforderung erneut. Weitere Informationen finden Sie unter Visibility Timeout im Amazon SQS-Entwicklerhandbuch.

F: Kann eine gelöschte Mitteilung erneut empfangen werden?

Nein. FIFO-Warteschlangen nehmen nie doppelte Nachrichten auf.

In seltenen Fällen erhalten Sie bei Standardwarteschlangen möglicherweise eine vorher gelöschte Nachricht erneut. Dies kann der Fall sein, wenn ein "DeleteMessage"-Vorgang nicht alle Kopien der Nachricht löscht, weil ein Server des verteilten Amazon-SQS-Systems zum Zeitpunkt des Löschvorgangs nicht verfügbar war Diese Nachrichtenkopie wird dann eventuell erneut versendet. Wenn Sie Standardwarteschlangen verwenden, sollten Sie Ihre Anwendung idempotent einrichten (d. h. beim wiederholten Empfang einer gelöschten Nachricht sollten keine Fehler oder Inkonsistenzen auftreten).

F: Was passiert, wenn ich eine "DeleteMessage"-Anforderung für eine bereits gelöschte Mitteilung stelle?

Wenn Sie eine "DeleteMessage"-Anforderung für eine bereits gelöschte Mitteilung stellen, gibt Amazon SQS eine success-Antwort zurück.


F: Ist Amazon SQS PCI DSS zertifiziert?

Ja. Amazon SQS verfügt über eine PCI DSS-Zertifizierung (Level 1). Weitere Informationen finden Sie unter PCI-Compliance.

F: Ist Amazon SQS HIPAA-konform?

Nein. Amazon SQS ist noch nicht für die Konformität mit HIPAA qualifiziert.

Sie können aber die Extended Client Libraryverwenden, um Amazon SQS-Nutzdatennachrichten über Amazon S3 zu versenden (Amazon S3 ist ein für HIPAA qualifizierter Service). Auf diese Weise lässt sich HIPAA-Konformität realisieren, da keine personenbezogenen Daten (PII) über Amazon SQS übertragen werden.

Weitere Informationen finden Sie unter Using the Amazon SQS Extended Client Library for Java im Amazon SQS-Entwicklerhandbuch


F: Wie lange kann ich meine Nachrichten in den Nachrichtenwarteschlangen von Amazon SQS aufbewahren?

Durch die längere Aufbewahrung von Nachrichten können Sie flexibler bestimmen, wann Nachrichten erstellt und genutzt werden.

Sie können den Aufbewahrungszeitraum für Amazon SQS-Nachrichten mit einem Wert von 1 Minute bis zu 14 Tagen festlegen. Standardmäßig ist ein Zeitraum von 4 Tagen eingestellt. Sobald der vorgegebene Zeitraum abgelaufen ist, werden Ihre Nachrichten gelöscht.

F: Wie kann ich Amazon SQS so konfigurieren, dass Nachrichten länger aufbewahrt werden?

Richten Sie das MessageRetentionPeriod-Attribut mithilfe der Console oder mithilfe der Distributiveness-Methode ein, um den Aufbewahrungszeitraum für Nachrichten zu konfigurieren. Mit diesem Attribut wird festgelegt, wie viele Sekunden eine Nachricht von Amazon SQS aufbewahrt wird.

Über das Attribut „MessageRetentionPeriod“ kann ein beliebiger Aufbewahrungszeitraum für Nachrichten zwischen 60 Sekunden (1 Minute) und 1 209 600 Sekunden (14 Tage) festgelegt werden. Weitere Informationen über die Verarbeitung dieses Nachrichtenattributs finden Sie im Amazon SQS API-Referenzhandbuch.

F: Wie kann ich die maximale Nachrichtengröße für Amazon SQS konfigurieren?

Zum Konfigurieren der maximalen Nachrichtengröße stellen Sie das Attribut "MaximumMessageSize" mithilfe der "SetQueueAttributes"-Methode ein. Mit diesem Attribut wird festgelegt, welche Größe in Byte eine Amazon SQS-Nachricht aufweisen darf. Stellen Sie diesen Grenzwert zwischen 1024 Byte (1 KB) und 262 144 Byte (256 KB) ein. Weitere Informationen finden Sie unter Using Amazon SQS Message Attributes im Amazon SQS-Entwicklerhandbuch.

Um Nachrichten mit mehr als 256 KB zu senden, können Sie die Amazon SQS Extended Client Library for Java verwenden. Diese Bibliothek ermöglicht das Senden einer Amazon SQS-Nachricht, die eine Referenz bezüglich eines Nachrichteninhalts in Amazon S3 enthält, welche bis zu 2 GB groß sein kann. Informationen zu FIFO-Warteschlangen finden Sie unter "Sind FIFO-Warteschlangen von Amazon SQS mit dem Amazon SQS Buffered Asynchronous Client, der Amazon SQS Extended Client Library für Java oder dem Amazon SQS Java Message Service (JMS) Client kompatibel?".

F: Welche Art von Daten kann eine Nachricht enthalten?

Amazon SQS-Nachrichten können bis zu 256 KB an Textdaten, darunter XML, JSON und unformatierten Text, enthalten. Die folgenden Unicode-Zeichen sind zugelassen:

#x9 | #xA | #xD | [#x20 bis #xD7FF] | [#xE000 bis #xFFFD] | [#x10000 bis #x10FFFF]

Weitere Informationen finden Sie in der XML 1.0-Spezifikation.

F: Wie groß dürfen Amazon SQS-Nachrichtenwarteschlangen sein?

Eine einzelne Amazon SQS-Nachrichtenwarteschlange kann eine unbeschränkte Anzahl von Nachrichten enthalten. Es gibt jedoch eine Beschränkung von 120 000 für die Anzahl von "inflight"-Nachrichten bei Standardwarteschlangen und von 20 000 bei FIFO-Warteschlangen. Nachrichten sind "inflight", nachdem sie aus der Warteschlange von einer verbrauchenden Komponente empfangen, aber noch nicht aus der Warteschlange gelöscht wurden.

F: Wie viele Nachrichtenwarteschlangen kann ich erstellen?

Sie können eine beliebige Anzahl von Nachrichtenwarteschlangen erstellen.

Gibt es eine Längenbeschränkung für die Namen der Amazon SQS-Nachrichtenwarteschlangen?

Die Namen von Warteschlangen sind auf 80 Zeichen beschränkt.

F: Gibt es Beschränkungen hinsichtlich der Benennung der Amazon SQS-Nachrichtenwarteschlangen?

Alphanumerische Zeichen sowie Bindestriche (-) und Unterstriche (_) sind zulässig.

F: Kann ich den Namen einer Nachrichtenwarteschlange wiederverwenden?

Der Name einer Nachrichtenwarteschlange muss innerhalb eines AWS-Kontos und einer Region eindeutig sein. Sie können den Namen einer Nachrichtenwarteschlange wiederverwenden, nachdem Sie die Nachrichtenwarteschlange gelöscht haben.


F: Wie können mehrere Benutzer auf eine Nachrichtenwarteschlange zugreifen?

Sie können der gemeinsam zu nutzenden Nachrichtenwarteschlange eine Zugriffsrichtlinienerklärung zuweisen (in der die Berechtigungen näher definiert sind). Amazon SQS bietet APIs für das Erstellen und Verwalten von Zugriffsrichtlinienerklärungen:

  • AddPermission
  • RemovePermission
  • SetQueueAttributes
  • GetQueueAttributes

Weitere Informationen finden Sie im Amazon SQS-Referenzhandbuch.

F: Wer zahlt für den gemeinsamen Warteschlangenzugriff?

Der Inhaber der Nachrichtenwarteschlange bezahlt den gemeinsamen Nachrichtenwarteschlangenzugriff.

F: Wie erkenne ich einen anderen AWS-Benutzer, mit dem ich eine Nachrichtenwarteschlange teilen möchte?

Die Amazon SQS-API verwendet die AWS-Kontonummer zur Identifizierung der AWS-Benutzer.

F: Was benötige ich, um einen AWS-Benutzer bereitzustellen, mit dem ich eine Nachrichtenwarteschlange gemeinsam nutzen möchte?

Die gemeinsame Nutzung einer Nachrichtenwarteschlange mit einem AWS-Benutzer ist möglich, indem Sie die vollständige URL der Nachrichtenwarteschlange bereitstellen, die Sie gemeinsam nutzen möchten. Die Vorgänge CreateQueue und ListQueues geben diese URL in ihrer Antwort an.

F: Unterstützt Amazon SQS anonymen Zugriff?

Ja. Sie können eine Zugriffsrichtlinie konfigurieren, die anonymen Benutzern den Zugriff auf eine Nachrichtenwarteschlange gestattet.

F: Wann sollte ich die Berechtigungs-API nutzen?

Die Berechtigungs-API bietet eine Schnittstelle für den gemeinsamen Zugriff auf eine Nachrichtenwarteschlange für Entwickler. Diese API kann aber keinen bedingten Zugriff oder kompliziertere Anwendungsfälle bewältigen.

F: Wann sollte ich den Vorgang SetQueueAttributes mit JSON-Objekten verwenden?

Der "SetQueueAttributes"-Vorgang unterstützt die vollständige Zugriffsrichtliniensprache. Unter Verwendung der Richtliniensprache können Sie beispielsweise den Zugang zur Nachrichtenwarteschlange nach IP-Adresse und Tageszeit eingrenzen. Weitere Informationen finden Sie unter Amazon SQS Policy Examples im Amazon SQS-Entwicklerhandbuch.


F: In welchen AWS-Regionen ist Amazon SQS verfügbar?

Die Serviceverfügbarkeit in Regionen finden Sie in der Tabelle für globale Infrastrukturregionen von AWS. FIFO-Warteschlangen sind derzeit nur in den Regionen USA Ost (Ohio) und USA West (Oregon) verfügbar.

F: Kann ich Nachrichten zwischen Nachrichtenwarteschlangen in verschiedenen Regionen gemeinsam nutzen?

Nein. Jede Amazon SQS-Nachrichtenwarteschlange ist in der jeweiligen Region unabhängig.

F: Gibt es zwischen den verschiedenen Regionen einen Preisunterschied?

Die Amazon SQS-Preise sind in allen Regionen gleich. Lediglich die Region China (Peking) bildet eine Ausnahme von dieser Regel. Weitere Informationen dazu finden Sie unter Amazon SQS – Preise.

F: Wie sieht die Preisgestaltung bei Übertragungen zwischen den verschiedenen Regionen aus?

Datenübertragungen zwischen Amazon SQS und Amazon EC2 oder Amazon Lambda innerhalb einer Region sind gebührenfrei.

Datenübertragungen zwischen Amazon SQS und Amazon EC2 oder AWS Lambda in verschiedenen Regionen werden nach den normalen Datenübertragungstarifen berechnet. Weitere Informationen dazu finden Sie unter Amazon SQS – Preise.