Uso de colas de mensajes de Amazon Simple Queue Service - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de colas de mensajes de Amazon Simple Queue Service

Una cola de mensajes es el contenedor lógico utilizado para enviar mensajes de forma fiable en Amazon Simple Queue Service. Existen dos tipos de colas: estándar y primero en entrar, primero en salir (FIFO). Para obtener más información sobre las colas y las diferencias entre estos tipos, consulte la Guía para desarrolladores de Amazon Simple Queue Service.

En este tema se describe cómo crear, mostrar, eliminar y obtener la dirección URL de un cola de Amazon Simple Queue Service mediante AWS SDK for Java.

La variable sqsClient que se utiliza en los ejemplos siguientes se puede crear a partir del siguiente fragmento.

SqsClient sqsClient = SqsClient.create();

Al crear una SqsClient mediante el create() método estático, el SDK configura la región mediante la cadena de proveedores de regiones predeterminada y las credenciales mediante la cadena de proveedores de credenciales predeterminada.

Creación de una cola

Usa el SqsClient’s createQueue método y proporciona un CreateQueueRequest objeto que describa los parámetros de la cola, tal y como se muestra en el siguiente fragmento de código.

Importaciones

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

Código

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

Consulte el ejemplo completo en. GitHub

Mostrar colas

Para ver las Amazon Simple Queue Service colas de tu cuenta, llama al SqsClient’s listQueues método con un ListQueuesRequest objeto.

Si utilizas la forma del listQueuesmétodo que no incluye parámetros, el servicio devuelve todas las colas (hasta un máximo de 1000 colas).

Puede proporcionar un prefijo de nombre de cola al ListQueuesRequest objeto para limitar los resultados a las colas que coincidan con ese prefijo, como se muestra en el código siguiente.

Importaciones

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

Código

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

Consulte el ejemplo completo en. GitHub

Obtener la URL de una cola

El código siguiente muestra cómo obtener la URL de una cola llamando al SqsClient’s getQueueUrl método con un GetQueueUrlRequest objeto.

Importaciones

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

Código

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

Consulta el ejemplo completo en. GitHub

Eliminar una cola

Proporcione la URL de la cola al DeleteQueueRequest objeto. A continuación, llama al SqsClient’s deleteQueue método para eliminar una cola, tal y como se muestra en el código siguiente.

Importaciones

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

Código

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

Consulta el ejemplo completo en. GitHub

Más información

  • CreateQueueen la referencia Amazon Simple Queue Service de la API

  • GetQueueUrlen la referencia Amazon Simple Queue Service de la API

  • ListQueuesen la referencia Amazon Simple Queue Service de la API

  • DeleteQueueen la referencia Amazon Simple Queue Service de la API