Anunciamos
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 SQS
Una cola de mensajes es el contenedor lógico utilizado para enviar mensajes de forma fiable en 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, mostrar, eliminar y obtener la dirección URL de un cola de Amazon SQS mediante AWS SDK for Java.
Creación de una cola
Use el método createQueue
del cliente AmazonSQS, proporcionando un objeto CreateQueueRequest 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;
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; } }
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 enumerar las colas de Amazon SQS de su cuenta, llame al método listQueues
del cliente AmazonSQS.
Importaciones
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); }
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;
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); }
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;
Code
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;
Code
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.deleteQueue(queue_url);
Consulte el ejemplo completo
Más información
-
Cómo funcionan las colas de Amazon SQS en la Guía para desarrolladores de Amazon SQS
-
CreateQueue en la Referencia de la API de Amazon SQS
-
GetQueueUrl en la referencia de la API de Amazon SQS
-
ListQueues en la Referencia de la API de Amazon SQS
-
DeleteQueues en la referencia de la API de Amazon SQS