Utilisation d'Amazon SQSFeues d'attente de messages - AWS SDK for Java 1. x

Nous avons annoncé la sortie prochaine end-of-support de AWS SDK for Java (v1). Nous vous recommandons de migrer vers la AWS SDK for Java version v2. Pour les dates, les détails supplémentaires et les informations sur la façon de migrer, reportez-vous à l'annonce associée.

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 d'Amazon SQSFeues d'attente de messages

Une file d'attente de messages est le conteneur logique utilisé pour envoyer en toute fiabilité des messages dans 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 leAmazon SQSManuel du développeur.

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

Création d'une file d'attente

Utilisation du client AmazonSQScreateQueue, fournissant unCreateQueueRequestqui décrit les paramètres de 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());

Veuillez consulter l'exemple complet sur GitHub.

Affichage de la liste des files d'attente

Pour répertorier leAmazon SQSfiles d'attente de votre compte, appelez le client AmazonSQSlistQueuesMéthode.

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

Veuillez consulter l'exemple complet sur GitHub.

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

Appelez le client AmazonSQSgetQueueUrlMéthode.

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

Veuillez consulter l'exemple complet sur GitHub.

Suppression d'une file d'attente

Fournissez la file d'attenteURLvers le client AmazonSQSdeleteQueueMéthode.

Importations

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

Code

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

Veuillez consulter l'exemple complet sur GitHub.

Plus d'informations