La AWS SDK pour Java version 1.x est entrée en mode maintenance le 31 juillet 2024 et atteindra end-of-support
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
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
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
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
Plus d'informations
-
Comment fonctionnent les Amazon SQS files d'attente dans le guide du Amazon SQS développeur
-
CreateQueuedans la référence de Amazon SQS l'API
-
GetQueueUrldans la référence de Amazon SQS l'API
-
ListQueuesdans la référence de Amazon SQS l'API
-
DeleteQueuesdans la référence de Amazon SQS l'API