La AWS SDK para Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-support
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.
Trabajo con colas de Amazon SQS mensajes
Una cola de mensajes es el contenedor lógico que se utiliza para enviar mensajes de forma fiable. Amazon SQS 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 SQS.
En este tema se describe cómo crear, enumerar, eliminar y obtener la URL de una Amazon SQS cola mediante. AWS SDK para Java
Creación de una cola
Utilice el createQueue
método del cliente AmazonSQS, proporcionando un CreateQueueRequestobjeto que describa los parámetros de la cola.
Importaciones
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;
Código
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; } }
Puede utilizar el formato simplificado createQueue
, que solo necesita el nombre de una cola, para crear una cola estándar.
sqs.createQueue("MyQueue" + new Date().getTime());
Consulte el ejemplo completo
Mostrar colas
Para ver una lista de Amazon SQS las colas de su cuenta, llame al método del cliente AmazonSQS. listQueues
Importaciones
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesResult;
Código
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); }
El uso de la sobrecarga listQueues
sin parámetros devuelve todas las colas. Puede filtrar los resultados devueltos pasando un objeto ListQueuesRequest
.
Importaciones
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesRequest;
Código
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); }
Consulte el ejemplo completo
Obtener la URL de una cola
Llame al método getQueueUrl
del cliente AmazonSQS.
Importaciones
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
Código
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String queue_url = sqs.getQueueUrl(QUEUE_NAME).getQueueUrl();
Consulte el ejemplo completo
Eliminar una cola
Proporcione la URL de la cola al método del cliente AmazonSQS.
Importaciones
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
Código
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.deleteQueue(queue_url);
Consulte el ejemplo completo
Más información
-
Cómo funcionan Amazon SQS las colas en la guía Amazon SQS para desarrolladores
-
CreateQueueen la referencia de la Amazon SQS API
-
GetQueueUrlen la referencia Amazon SQS de la API
-
ListQueuesen la referencia Amazon SQS de la API
-
DeleteQueuesen la referencia Amazon SQS de la API