La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-support
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à.
Invio, ricezione ed eliminazioneAmazon SQSMessaggi
In questo argomento viene descritto l'invio, ricezione ed eliminazioneAmazon SQSMessaggi. I messaggi vengono sempre distribuiti tramite una coda SQS.
Inviare un messaggio
Aggiungi un solo messaggio a un oggettoAmazon SQScoda chiamando il client AmazonSQSsendMessage
Metodo. Fornisci un oggetto SendMessageRequest contenente l'URL della coda, il corpo del messaggio e il valore di ritardo opzionale (in secondi).
Importazioni
import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.SendMessageRequest;
Codice
SendMessageRequest send_msg_request = new SendMessageRequest() .withQueueUrl(queueUrl) .withMessageBody("hello world") .withDelaySeconds(5); sqs.sendMessage(send_msg_request);
Vedi l'esempio completo
Invia più messaggi contemporaneamente
Puoi inviare più messaggi in una singola richiesta. Per inviare più messaggi, utilizza il client AmazonSQSsendMessageBatch
metodo, che richiede unSendMessageBatchRequestcontenente l'URL della coda e un elenco di messaggi (ognuno diSendMessageBatchRequestEntry) da inviare. È inoltre possibile impostare un valore di ritardo opzionale per messaggio.
Importazioni
import com.amazonaws.services.sqs.model.SendMessageBatchRequest; import com.amazonaws.services.sqs.model.SendMessageBatchRequestEntry;
Codice
SendMessageBatchRequest send_batch_request = new SendMessageBatchRequest() .withQueueUrl(queueUrl) .withEntries( new SendMessageBatchRequestEntry( "msg_1", "Hello from message 1"), new SendMessageBatchRequestEntry( "msg_2", "Hello from message 2") .withDelaySeconds(10)); sqs.sendMessageBatch(send_batch_request);
Vedi l'esempio completo
ricevi messaggi
Recupera eventuali messaggi che si trovano attualmente nella coda chiamando il client AmazonSQSreceiveMessage
Metodo, passando l'URL della coda. I messaggi vengono restituiti come un elenco di oggetti Message.
Importazioni
import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.AmazonSQSException; import com.amazonaws.services.sqs.model.SendMessageBatchRequest;
Codice
List<Message> messages = sqs.receiveMessage(queueUrl).getMessages();
Elimina messaggi dopo la ricezione
Dopo aver ricevuto un messaggio ed elaborato il relativo contenuto, elimina il messaggio dalla coda inviando l'handle di ricezione del messaggio e l'URL della coda al client AmazonSQSdeleteMessage
Metodo.
Codice
for (Message m : messages) { sqs.deleteMessage(queueUrl, m.getReceiptHandle()); }
Vedi l'esempio completo
Ulteriori informazioni
-
ComeAmazon SQSUtilizzo delle codenellaAmazon SQSGuida per gli sviluppatori
-
SendMessagenellaAmazon SQSDocumentazione di riferimento API
-
SendMessageBatchnellaAmazon SQSDocumentazione di riferimento API
-
ReceiveMessagenellaAmazon SQSDocumentazione di riferimento API
-
DeleteMessagenellaAmazon SQSDocumentazione di riferimento API