Travailler avec les files d'attente de Amazon Simple Queue Service messages - AWS SDK for Java 2.x

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.

Travailler avec les files d'attente de Amazon Simple Queue Service messages

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

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

La sqsClient variable utilisée dans les exemples suivants peut être créée à partir de l'extrait de code suivant.

SqsClient sqsClient = SqsClient.create();

Lorsque vous créez un en SqsClient utilisant la create() méthode statique, le SDK configure la région en utilisant la chaîne de fournisseurs de régions par défaut et les informations d'identification en utilisant la chaîne de fournisseurs d'informations d'identification par défaut.

Créer une file d'attente

Utilisez la SqsClient’s createQueue méthode et fournissez un CreateQueueRequest objet qui décrit les paramètres de la file d'attente, comme indiqué dans l'extrait de code suivant.

Importations

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

CreateQueueRequest createQueueRequest = CreateQueueRequest.builder() .queueName(queueName) .build(); sqsClient.createQueue(createQueueRequest);

Voir l'exemple complet sur GitHub.

Répertorier les files d'attente

Pour répertorier les Amazon Simple Queue Service files d'attente pour votre compte, appelez la SqsClient’s listQueues méthode avec un ListQueuesRequest objet.

Lorsque vous utilisez la forme de la listQueuesméthode qui ne prend aucun paramètre, le service renvoie toutes les files d'attente, jusqu'à 1 000 files d'attente.

Vous pouvez fournir un préfixe de nom de file d'attente à l'ListQueuesRequestobjet afin de limiter les résultats aux files d'attente correspondant à ce préfixe, comme indiqué dans le code suivant.

Importations

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

String prefix = "que"; try { ListQueuesRequest listQueuesRequest = ListQueuesRequest.builder().queueNamePrefix(prefix).build(); ListQueuesResponse listQueuesResponse = sqsClient.listQueues(listQueuesRequest); for (String url : listQueuesResponse.queueUrls()) { System.out.println(url); } } catch (SqsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); }

Voir l'exemple complet sur GitHub.

Obtenir l'URL d'une file d'attente

Le code suivant montre comment obtenir l'URL d'une file d'attente en appelant la SqsClient’s getQueueUrl méthode avec un GetQueueUrlRequest objet.

Importations

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

GetQueueUrlResponse getQueueUrlResponse = sqsClient.getQueueUrl(GetQueueUrlRequest.builder().queueName(queueName).build()); String queueUrl = getQueueUrlResponse.queueUrl(); return queueUrl;

Voir l'exemple complet sur GitHub.

Suppression d'une file d'attente

Fournissez l'URL de la file d'attente vers l'DeleteQueueRequestobjet. Appelez ensuite la SqsClient’s deleteQueue méthode pour supprimer une file d'attente comme indiqué dans le code suivant.

Importations

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;

Code

public static void deleteSQSQueue(SqsClient sqsClient, String queueName) { try { GetQueueUrlRequest getQueueRequest = GetQueueUrlRequest.builder() .queueName(queueName) .build(); String queueUrl = sqsClient.getQueueUrl(getQueueRequest).queueUrl(); DeleteQueueRequest deleteQueueRequest = DeleteQueueRequest.builder() .queueUrl(queueUrl) .build(); sqsClient.deleteQueue(deleteQueueRequest); } catch (SqsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Voir l'exemple complet sur GitHub.

En savoir plus

  • CreateQueuedans la référence de Amazon Simple Queue Service l'API

  • GetQueueUrldans la référence de Amazon Simple Queue Service l'API

  • ListQueuesdans la référence de Amazon Simple Queue Service l'API

  • DeleteQueuedans la référence de Amazon Simple Queue Service l'API