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 den anderen AWS-Infrastruktur-Web-Services zusammen.

F: Was kann ich mit Amazon SQS tun?

Da Amazon SQS hochgradig skalierbar ist und nutzungsbasiert bezahlt wird, können Sie klein anfangen und Ihre Anwendung nach Bedarf erweitern, ohne Kompromisse in Bezug auf die Leistung und die Zuverlässigkeit eingehen 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?

Beginnen Sie mit Amazon SQS in ein paar einfachen Schritten:

  1. Registrieren Sie sich für ein AWS-Konto.
  2. Nachdem Sie sich registriert haben, besuchen Sie die AWS Management Console, wählen Sie SQS und auf der nächsten Seite Create New Queue.
  3. Geben Sie im Dialogfeld Create New Queue einen Warteschlangennamen (beispielsweise MyQueue) ein und klicken Sie auf Create Queue.
  4. Wählen Sie eine Warteschlange aus und klicken Sie in der Dropdown-Liste Queue Actions auf die Option Send a Message.
  5. Geben Sie im Dialogfeld Send a Message to MyQueue auf dem Reiter Message Body den Text Ihrer Nachricht ein und klicken Sie auf Send Message.

Die Nachricht wird abgesendet und eine Bestätigung mit den Attributen für eine versendete Nachricht wird angezeigt. Klicken Sie auf Close, um den Vorgang abzuschließen.

Weitere Informationen finden Sie im Erste-Schritte-Handbuch zu Amazon SQS, 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?

Die Verwendung von 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. Zudem bietet Amazon SQS 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: Wann sollte ich Amazon Simple Workflow Service (SWF) anstelle von Amazon SQS verwenden?

Sowohl Amazon SWF als auch Amazon SQS können für die Entwicklung verteilter, entkoppelter Anwendungen verwendet werden:

  • Amazon SWF ist ein Service, der für die Orchestrierung umfassend skalierbarer Anwendungen konzipiert wurde. Er bietet auch Auditierbarkeit.
  • Amazon SQS bietet eine zuverlässige, hochgradig skalierbare, gehostete Warteschlange für das Senden und Empfangen von Nachrichten.

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: 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.

In den meisten Regionen betragen die Kosten für Amazon SQS 0,50 USD für jeweils 1 000 000 Anforderungen plus Datenübertragungskosten für die aus Amazon SQS ausgelesenen Daten (sofern nicht Daten an Amazon EC2-Instances oder an AWS Lambda-Funktionen in derselben Region übertragen werden). Weitere Informationen dazu finden Sie unter Amazon SQS – Preise.

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

Ja. 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, darunter 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 bezeichnet, gelten unsere Preise zuzüglich anfälliger 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: 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 greifen auf Amazon SQS über die AWS Management Console zu, die eine visuelle, Web-basierte Schnittstelle für das Einrichten und Verwalten von Amazon SQS bildet.

Amazon SQS stellt auch eine Web-Services-API bereit und ist in AWS SDKs integriert, sodass Sie mit der Programmiersprache Ihrer Wahl 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 dazu finden Sie unter Verwenden von JMS mit Amazon SQS.

F: Wie werden Nachrichten im System erkannt?

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 werden fehlgeschlagene Nachrichten gehandhabt?

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

Eine Warteschlange kann zu einer Warteschlange für unzustellbare Nachrichten werden, wenn sie Nachrichten empfängt, nachdem eine maximale Anzahl von Verarbeitungsversuchen fehlgeschlagen ist. 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 Verwenden von Amazon SQS-Warteschlangen für unzustellbare Nachrichten

F: Bietet Amazon SQS FIFO-Zugriff (First-in-First-out) auf Nachrichten?

Amazon SQS bietet eine lockere FIFO-Funktion, die versucht, die Reihenfolge der Nachrichten zu bewahren. Allerdings wurde Amazon SQS von Grund auf so konzipiert, dass der Service mithilfe einer verteilten Architektur massiv skalierbar ist. Wir können daher nicht garantieren, dass Sie Nachrichten immer in genau der Reihenfolge empfangen werden, in der Sie sie gesendet haben (FIFO).

Wenn Ihr System erfordert, dass die Reihenfolge der Nachrichten beibehalten wird, fügen Sie Sequenzinformationen jeder Nachricht hinzu, damit die Nachrichten bei ihrem Empfang richtig eingeordnet werden können.

F: Bietet Amazon SQS die "mindestens einmalige" Zustellung von Nachrichten?

Ja. Amazon SQS garantiert, dass jede Nachricht zumindest einmal zugestellt wird. Amazon SQS speichert aus Gründen der Redundanz und Hochverfügbarkeit Kopien der Mitteilungen auf mehreren Servern. In seltenen Fällen kann es vorkommen, dass einer der Server, auf dem eine Nachrichtenkopie gespeichert ist, nicht verfügbar ist, wenn Sie eine Nachricht erhalten oder löschen.

Dann wird die Kopie dieser Nachricht nicht von diesem nicht verfügbaren Server gelöscht. Deshalb ist es möglich, dass Sie beim Empfangen von Nachrichten diese Nachricht erneut erhalten (mindestens einmal zugestellt).

Ihre Anwendungen müssen idempotent sein (d. h., die mehrmalige Verarbeitung derselben Nachricht darf die Anwendung nicht nachteilig beeinflussen).

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 Zeitbeschränkung für die Sicherheit.

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 intelligenter 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 Amazon SQS-Nachrichtenattribute.

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 dazu finden Sie unter Amazon SQS – Langabfrage.

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 Pufferung auf Client-Seite und Stapelverarbeitung von Anforderungen.

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-Warteschlangen so abonnieren, dass Benachrichtigungen von Amazon Simple Notification Service-Themen (Amazon SNS-Themen) empfangen werden?

  1. Wählen Sie in der Amazon SQS-Konsole eine Amazon SQS-Nachrichtenwarteschlange.
  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 Abonnieren einer Warteschlange bei einem Amazon SNS-Thema.

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-Nachrichtenwarteschlangen beim 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: 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 Regionen und Availability Zones.

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 Beispiele für Amazon SQS-Richtlinien.

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 Zeitbeschränkung für die Sicherheit.

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

Ja. In seltenen Fällen erhalten Sie unter Umständen 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.

Um dieses Verhalten zu vermeiden, sollten Sie Ihre Anwendung idempotent einrichten: 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 Verwenden der Amazon SQS Extended Client Library for Java.


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 Amazon SQS-Nachrichtenattribute.

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.

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.

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: Was passiert, wenn eine Nachrichtenwarteschlange für einen längeren Zeitraum nicht aktiv ist?

Wir behalten uns das Recht vor, eine Nachrichtenwarteschlange zu löschen, wenn für 30 aufeinanderfolgende Tage keine der folgenden Anforderungen übermittelt wurde:

  • SendMessage
  • ReceiveMessage
  • DeleteMessage
  • GetQueueAttributes
  • SetQueueAttributes

Eine Warteschlange für unzustellbare Nachrichten wird so lange nicht gelöscht, als eine der Quellwarteschlangen vorhanden ist.


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 Beispiele für Amazon SQS-Richtlinien.


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

Die Verfügbarkeit in Regionen finden Sie in der Tabelle für globale Infrastrukturregionen von AWS.

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 Asien-Pazifik (Tokio) und AWS GovCloud bilden 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.