Lavora con le code di Amazon Simple Queue Service messaggi - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavora con le code di Amazon Simple Queue Service messaggi

Una coda di messaggi è il container logico utilizzato per l'invio di messaggi in modo affidabile in Amazon Simple Queue Service. Sono disponibili due tipi di code: standard e first-in, first-out (FIFO). Per ulteriori informazioni sulle code e sulle differenze tra questi tipi, consulta la Guida per gli Amazon Simple Queue Servicesviluppatori.

In questo argomento viene descritto come creare, elencare, eliminare e ottenere l'URL di una coda Amazon Simple Queue Service utilizzando AWS SDK for Java.

La sqsClient variabile utilizzata negli esempi seguenti può essere creata dal seguente frammento.

SqsClient sqsClient = SqsClient.create();

Quando si crea un SqsClient utilizzando il create() metodo statico, l'SDK configura la regione utilizzando la catena di provider di aree predefinita e le credenziali utilizzando la catena di provider di credenziali predefinita.

Crea una coda

Utilizzate il SqsClient’s createQueue metodo e fornite un CreateQueueRequest oggetto che descriva i parametri della coda come mostrato nel seguente frammento di codice.

Importazioni

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

Codice

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

Vedi l'esempio completo su. GitHub

Elencare code

Per elencare le Amazon Simple Queue Service code relative al tuo account, chiama il SqsClient’s listQueues metodo con un ListQueuesRequest oggetto.

Quando utilizzate il modulo del listQueuesmetodo che non accetta parametri, il servizio restituisce tutte le code, fino a 1.000 code.

È possibile fornire un prefisso per il nome della coda all'ListQueuesRequestoggetto per limitare i risultati alle code che corrispondono a tale prefisso, come illustrato nel codice seguente.

Importazioni

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

Codice

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

Guarda l'esempio completo su. GitHub

Ottenere l'URL di una coda

Il codice seguente mostra come ottenere l'URL di una coda chiamando il SqsClient’s getQueueUrl metodo con un GetQueueUrlRequest oggetto.

Importazioni

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

Codice

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

Guarda l'esempio completo su. GitHub

Elimina una coda

Fornisci l'URL della coda all'DeleteQueueRequestoggetto. Quindi chiamate il SqsClient’s deleteQueue metodo per eliminare una coda come mostrato nel codice seguente.

Importazioni

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

Codice

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

Guarda l'esempio completo su. GitHub

Ulteriori informazioni

  • CreateQueuenell'Amazon Simple Queue ServiceAPI Reference

  • GetQueueUrlnell'Amazon Simple Queue ServiceAPI Reference

  • ListQueuesnell'Amazon Simple Queue ServiceAPI Reference

  • DeleteQueuenell'Amazon Simple Queue ServiceAPI Reference