O AWS SDK for Java 1.x chegou end-of-support em 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.x para continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com filas de mensagens do Amazon SQS
Uma fila de mensagens é o contêiner lógico usado para enviar mensagens de maneira confiável no Amazon SQS. Existem dois tipos de filas: padrão e First-In, First-Out (FIFO – Primeiro a entrar, primeiro a sair). Para saber mais sobre as filas e as diferenças entre esses tipos, consulte o Guia do desenvolvedor do Amazon SQS.
Este tópico descreve como criar, listar, excluir e obter o URL de uma fila do Amazon SQS usando o AWS SDK for Java.
Criar uma fila
Use o método createQueue do cliente do AmazonSQS fornecendo um objeto CreateQueueRequest que descreve os parâmetros de fila.
Importações
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 da
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; } }
Você pode usar a forma simplificada de createQueue, que precisa somente do nome de uma fila, para criar uma fila padrão.
sqs.createQueue("MyQueue" + new Date().getTime());
Veja o exemplo completo
Listar filas
Para listar as filas do Amazon SQS da conta, chame o método listQueues do cliente do AmazonSQS.
Importações
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesResult;
Código da
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); }
Usar a sobrecarga listQueues sem parâmetros retorna todas as filas. Você pode filtrar os resultados retornados passando um objeto ListQueuesRequest.
Importações
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.ListQueuesRequest;
Código da
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); }
Veja o exemplo completo
Obter o URL de uma fila
Chame o método getQueueUrl do cliente do AmazonSQS.
Importações
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
Código da
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); String queue_url = sqs.getQueueUrl(QUEUE_NAME).getQueueUrl();
Veja o exemplo completo
Excluir uma fila
Forneça o URL da fila para o método deleteQueue do cliente do AmazonSQS.
Importações
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
Código da
AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.deleteQueue(queue_url);
Veja o exemplo completo
Mais informações
-
Como as filas do Amazon SQS funcionam no Guia do Desenvolvedor do Amazon SQS
-
CreateQueue na Referência de API do Amazon SQS
-
GetQueueUrl na Referência de API do Amazon SQS
-
ListQueues na Referência de API do Amazon SQS
-
DeleteQueues na Referência de API do Amazon SQS