Arbeiten mitAmazon SQSNachrichtenwarteschlangen - AWS SDK for Java 1.x

Wir haben die kommende Version end-of-support für AWS SDK for Java (v1) angekündigt. Wir empfehlen Ihnen, auf AWS SDK for Java Version 2 zu migrieren. Termine, weitere Details und Informationen zur Migration finden Sie in der verlinkten Ankündigung.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mitAmazon SQSNachrichtenwarteschlangen

Eine Nachrichtenwarteschlange ist der logische Container, der zum zuverlässigen Senden von Nachrichten in Amazon SQS genutzt wird. Es gibt zwei Arten von Warteschlangen: Standard und First-in-First-out-Verfahren (FIFO). Weitere Informationen zu Warteschlangen und die Unterschiede zwischen diesen Typen finden Sie in derAmazon SQSEntwicklerhandbuchaus.

In diesem Thema wird beschrieben, wie Sie Amazon SQS-Warteschlangen erstellen, auflisten, löschen und die URL einer Warteschlange mit AWS SDK for Java abrufen können.

Erstellen einer Warteschlange

Verwenden Sie die von AmazonSQS--ClientscreateQueueMethode zur Verfügung stellt eineCreateQueueRequest-Objekt, das die Parameter der Warteschlange beschreibt.

Importe

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.AmazonSQSException; import com.amazonaws.services.sqs.model.CreateQueueRequest;

Code

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); CreateQueueRequest create_request = new CreateQueueRequest(QUEUE_NAME) .addAttributesEntry("DelaySeconds", "60") .addAttributesEntry("MessageRetentionPeriod", "86400"); try { sqs.createQueue(create_request); } catch (AmazonSQSException e) { if (!e.getErrorCode().equals("QueueAlreadyExists")) { throw e; } }

Sie können die vereinfachte Form von createQueue verwenden, die nur einen Namen für die Warteschlange benötigt, um eine Standard-Warteschlange zu erstellen.

sqs.createQueue("MyQueue" + new Date().getTime());

Auf GitHub finden Sie ein vollständiges Beispiel.

Auflisten von Warteschlangen

Listet dieAmazon SQS-Warteschlangen für Ihr Konto, rufen Sie den AmazonSQS-Kunden anlistQueues-Methode.

Importe

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesResult;

Code

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); ListQueuesResult lq_result = sqs.listQueues(); System.out.println("Your SQS Queue URLs:"); for (String url : lq_result.getQueueUrls()) { System.out.println(url); }

Wenn Sie die listQueues-Überladung ohne Parameter aufrufen, werden alle Warteschlangen zurückgegeben. Sie können die zurückgegebenen Ergebnisse filtern, indem Sie ein ListQueuesRequest-Objekt übergeben.

Importe

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesRequest;

Code

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String name_prefix = "Queue"; lq_result = sqs.listQueues(new ListQueuesRequest(name_prefix)); System.out.println("Queue URLs with prefix: " + name_prefix); for (String url : lq_result.getQueueUrls()) { System.out.println(url); }

Auf GitHub finden Sie ein vollständiges Beispiel.

Abrufen der URL für eine Warteschlange

Rufen Sie den AmazonSQS--Clients angetQueueUrl-Methode.

Importe

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;

Code

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String queue_url = sqs.getQueueUrl(QUEUE_NAME).getQueueUrl();

Auf GitHub finden Sie ein vollständiges Beispiel.

Löschen einer Warteschlange

Stellen Sie die der Warteschlangen bereitURLzu den AmazonSQS-KundendeleteQueue-Methode.

Importe

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;

Code

AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.deleteQueue(queue_url);

Auf GitHub finden Sie ein vollständiges Beispiel.

Weitere Infos