

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon Simple Queue Service Nachrichten senden, empfangen und löschen
<a name="examples-sqs-messages"></a>

Eine Nachricht ist ein Datenabschnitt, der von verteilten Komponenten gesendet und empfangen werden kann. Nachrichten werden immer mit einer [SQS-Warteschlange](examples-sqs-message-queues.md) geliefert.

Die in den folgenden Beispielen verwendete `sqsClient` Variable kann aus dem folgenden Codeausschnitt erstellt werden.

```
SqsClient sqsClient = SqsClient.create();
```

Wenn Sie eine `SqsClient` mit der statischen `create()` Methode erstellen, konfiguriert das SDK die Region mithilfe der [Standardregion-Anbieterkette](region-selection.md#default-region-provider-chain) und die Anmeldeinformationen mithilfe der [Standard-Anbieterkette für Anmeldeinformationen](credentials-chain.md).

## Senden einer Nachricht
<a name="sqs-message-send"></a>

Fügen Sie einer Amazon Simple Queue Service Warteschlange eine einzelne Nachricht hinzu, indem Sie die SqsClient `sendMessage` Client-Methode aufrufen. Geben Sie ein [SendMessageRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/SendMessageRequest.html)Objekt an, das die [URL](examples-sqs-message-queues.md#sqs-get-queue-url), den Nachrichtentext und den optionalen Verzögerungswert (in Sekunden) der Warteschlange enthält.

 **Importe** 

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

 **Code** 

```
            sqsClient.sendMessage(SendMessageRequest.builder()
                .queueUrl(queueUrl)
                .messageBody("Hello world!")
                .delaySeconds(10)
                .build());

            sqsClient.sendMessage(sendMsgRequest);
```

## Senden Sie mehrere Nachrichten in einer Anfrage
<a name="sqs-messages-send-multiple"></a>

Senden mehrerer Nachrichten in einer einzigen Anforderung unter Verwendung der `sendMessageBatch`-Methode des SqsClient . Diese Methode verwendet eine [SendMessageBatchRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/SendMessageBatchRequest.html), die die URL der Warteschlange und eine Liste der zu sendenden Nachrichten enthält. (Jede Nachricht ist eine [SendMessageBatchRequestEntry](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/SendMessageBatchRequestEntry.html).) Sie können das Senden einer bestimmten Nachricht auch verzögern, indem Sie einen Verzögerungswert für die Nachricht festlegen.

 **Importe** 

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

 **Code** 

```
            SendMessageBatchRequest sendMessageBatchRequest = SendMessageBatchRequest.builder()
                .queueUrl(queueUrl)
                .entries(SendMessageBatchRequestEntry.builder().id("id1").messageBody("Hello from msg 1").build(),
                        SendMessageBatchRequestEntry.builder().id("id2").messageBody("msg 2").delaySeconds(10).build())
                .build();
            sqsClient.sendMessageBatch(sendMessageBatchRequest);
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/cf25559da654a7b74bec039c0ab9397dc5951dd4/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L133) finden Sie unter GitHub.

## Nachrichten abrufen
<a name="sqs-messages-receive"></a>

Abrufen von aktuell in der Warteschlange enthaltenen Nachrichten durch Aufruf der `receiveMessage`-Methode des SqsClient . Diese Methode verwendet eine [ReceiveMessageRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/ReceiveMessageRequest.html), die die Warteschlangen-URL enthält. Sie können auch die maximale Anzahl von Nachrichten angeben, die zurückgegeben werden soll. Nachrichten werden als Liste von [Message](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/model/Message.html)-Objekten zurückgegeben.

 **Importe** 

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

 **Code** 

```
        try {
            ReceiveMessageRequest receiveMessageRequest = ReceiveMessageRequest.builder()
                .queueUrl(queueUrl)
                .maxNumberOfMessages(5)
                .build();
            List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).messages();
            return messages;
        } catch (SqsException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return null;
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/cf25559da654a7b74bec039c0ab9397dc5951dd4/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L148) finden Sie unter GitHub.

## Löschen Sie eine Nachricht nach Erhalt
<a name="sqs-messages-delete"></a>

Nachdem Sie eine Nachricht empfangen und ihren Inhalt verarbeitet haben, löschen Sie die Nachricht aus der Warteschlange, indem Sie das Empfangs-Handle und die Warteschlangen-URL der Nachricht an die `SqsClient's` [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/SqsClient.html#deleteMessage(software.amazon.awssdk.services.sqs.model.DeleteMessageRequest)](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/sqs/SqsClient.html#deleteMessage(software.amazon.awssdk.services.sqs.model.DeleteMessageRequest))Methode senden.

 **Importe** 

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

 **Code** 

```
        try {
            for (Message message : messages) {
                DeleteMessageRequest deleteMessageRequest = DeleteMessageRequest.builder()
                        .queueUrl(queueUrl)
                        .receiptHandle(message.receiptHandle())
                        .build();
                sqsClient.deleteMessage(deleteMessageRequest);
            }
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/cf25559da654a7b74bec039c0ab9397dc5951dd4/javav2/example_code/sqs/src/main/java/com/example/sqs/SQSExample.java#L187) finden Sie unter GitHub.

## Weitere Infos
<a name="more-info"></a>
+  [So funktionieren Amazon Simple Queue Service Warteschlangen](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-architecture.html) im Amazon Simple Queue Service Entwicklerhandbuch
+  [SendMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)in der Amazon Simple Queue Service API-Referenz
+  [SendMessageBatch](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html)in der Amazon Simple Queue Service API-Referenz
+  [ReceiveMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)in der Amazon Simple Queue Service API-Referenz
+  [DeleteMessage](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)in der Amazon Simple Queue Service API-Referenz