Utilisation des files d'attente de Amazon SQS messages - AWS SDK pour Java 1. x

La AWS SDK pour Java version 1.x est entrée en mode maintenance le 31 juillet 2024 et atteindra end-of-supportle 31 décembre 2025. Nous vous recommandons de migrer vers le pour continuer AWS SDK for Java 2.xà bénéficier des nouvelles fonctionnalités, des améliorations de disponibilité et des mises à jour de sécurité.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des files d'attente de Amazon SQS messages

Une file de messages est le conteneur logique utilisé pour envoyer des messages de manière fiable Amazon SQS. Il existe deux types de files d'attente : standard et FIFO (premier entré, premier sorti). Pour en savoir plus sur les files d'attente et les différences entre ces types, consultez le guide du Amazon SQS développeur.

Cette rubrique décrit comment créer, répertorier, supprimer et obtenir l'URL d'une Amazon SQS file d'attente à l'aide du AWS SDK pour Java.

Création d'une file d'attente

Utilisez la createQueue méthode du client AmazonSQS, en fournissant un CreateQueueRequestobjet qui décrit les paramètres de la file d'attente.

Importations

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; } }

Vous pouvez utiliser la forme simplifiée de createQueue, qui nécessite uniquement un nom de file d'attente, pour créer une file d'attente standard.

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

Consultez l'exemple complet sur GitHub.

Affichage de la liste des files d'attente

Pour répertorier les Amazon SQS files d'attente pour votre compte, appelez la méthode du client AmazonSQS. listQueues

Importations

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); }

L'utilisation de la surcharge listQueues sans aucun paramètre renvoie toutes les files d'attente. Vous pouvez filtrer les résultats renvoyés en transmettant un objet ListQueuesRequest.

Importations

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); }

Consultez l'exemple complet sur GitHub.

Obtention de l'URL d'une file d'attente

Appelez la méthode du client AmazonSQS. getQueueUrl

Importations

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();

Consultez l'exemple complet sur GitHub.

Suppression d'une file d'attente

Fournissez l'URL de la file d'attente à la méthode du client AmazonSQS. deleteQueue

Importations

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

Code

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

Consultez l'exemple complet sur GitHub.

Plus d'informations