Trabaje con colas de Amazon Simple Queue Service mensajes - 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.

Trabaje con colas de Amazon Simple Queue Service mensajes

Una cola de mensajes es el contenedor lógico que se utiliza para enviar mensajes de forma fiable. 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, enumerar, eliminar y obtener la URL de una Amazon Simple Queue Service cola mediante el. AWS SDK for Java

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

SqsClient sqsClient = SqsClient.create();

Al crear un SqsClient utilizando el método create() 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

Use el createQueue método de SqsClient’s y proporcione un objeto CreateQueueRequest que describa los parámetros de la cola, 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

Lista de colas

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

Si utiliza la forma del método listQueues que no acepta parámetros, el servicio devuelve todas las colas hasta un máximo de 1000.

Puede proporcionar un prefijo de nombre de cola al objeto ListQueuesRequest para limitar los resultados a las colas que coinciden 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); }

Consulta 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 getQueueUrl método de SqsClient’s con un objeto GetQueueUrlRequest.

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;

Vea el ejemplo completo en GitHub.

Eliminar una cola

Proporcione la URL de la cola al objeto DeleteQueueRequest. A continuación, llame al método deleteQueue de SqsClient’s para eliminar una cola, 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); } }

Vea 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