

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Senden und Empfangen von Nachrichten in Amazon SQS
<a name="sqs-examples-send-receive-messages"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/de_de/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Dieses Node.js-Codebeispiel zeigt:**
+ Senden von Nachrichten in einer Warteschlange
+ Empfangen von Nachrichten in einer Warteschlange
+ Löschen von Nachrichten in einer Warteschlange

## Das Szenario
<a name="sqs-examples-send-receive-messages-scenario"></a>

In diesem Beispiel wird eine Reihe von Node.js-Modulen zum Senden und Empfangen von Nachrichten verwendet. Die Module von Node.js verwenden das SDK JavaScript zum Senden und Empfangen von Nachrichten mithilfe der folgenden Methoden der `AWS.SQS` Client-Klasse:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#deleteMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#deleteMessage-property)

Weitere Informationen zu Amazon SQS SQS-Nachrichten finden Sie unter [Senden einer Nachricht an eine Amazon SQS SQS-Warteschlange](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message.html) und [Empfangen und Löschen einer Nachricht aus einer Amazon SQS SQS-Warteschlange im Amazon](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-receive-delete-message.html) *Simple Queue Service Developer* Guide.

## Erforderliche Aufgaben
<a name="sqs-examples-send-receive-messages-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
+ Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der [Node.js-Website](https://nodejs.org).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei](loading-node-credentials-shared.md).
+ Erstellen einer Amazon SQS-Warteschlange Ein Beispiel für die Erstellung einer Warteschlange finden Sie unter [Verwenden von Warteschlangen in Amazon SQS](sqs-examples-using-queues.md).

## Senden einer Mitteilung an eine Warteschlange
<a name="sqs-examples-send-receive-messages-sending"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `sqs_sendmessage.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon SQS zuzugreifen, erstellen Sie ein `AWS.SQS` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die erforderlichen Parameter für Ihre Nachricht enthält, einschließlich URL der Warteschlange, an die Sie die Nachricht senden möchten. In diesem Beispiel enthält die Nachricht Details über ein Buch auf einer Belletristik-Bestsellerliste. Diese umfassen den Titel, den (die) Autor(in) und die Anzahl der Wochen, die es auf der Liste steht.

Rufen Sie die `sendMessage`-Methode auf. Die Callback-Funktion gibt eine eindeutige ID für die Nachricht zurück.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create an SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var params = {
  // Remove DelaySeconds parameter and value for FIFO queues
  DelaySeconds: 10,
  MessageAttributes: {
    Title: {
      DataType: "String",
      StringValue: "The Whistler",
    },
    Author: {
      DataType: "String",
      StringValue: "John Grisham",
    },
    WeeksOn: {
      DataType: "Number",
      StringValue: "6",
    },
  },
  MessageBody:
    "Information about current NY Times fiction bestseller for week of 12/11/2016.",
  // MessageDeduplicationId: "TheWhistler",  // Required for FIFO queues
  // MessageGroupId: "Group1",  // Required for FIFO queues
  QueueUrl: "SQS_QUEUE_URL",
};

sqs.sendMessage(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.MessageId);
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node sqs_sendmessage.js
```

Diesen Beispielcode finden Sie [hier auf GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_sendmessage.js)

## Empfangen und Löschen von Nachrichten in einer Warteschlange
<a name="sqs-examples-send-receive-messages-receiving"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `sqs_receivemessage.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon SQS zuzugreifen, erstellen Sie ein `AWS.SQS` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die erforderlichen Parameter für Ihre Nachricht enthält, einschließlich URL der Warteschlange, von der Sie Nachrichten erhalten möchten. In diesem Beispiel geben die Parameter den Eingang aller Nachrichtenattribute sowie den Eingang von nicht mehr als zehn Nachrichten an.

Rufen Sie die `receiveMessage`-Methode auf. Die Callback-Funktion gibt ein Array von `Message`-Objekten zurück, von dem Sie `ReceiptHandle` für jede verwendete Nachricht abrufen können, um diese Nachricht zu einem späteren Zeitpunkt zu löschen. Erstellen Sie ein weiteres JSON-Objekt, das die erforderlichen Parameter zum Löschen der Nachricht enthält. Dies sind die URL der Warteschlange und der `ReceiptHandle`-Wert. Rufen Sie die `deleteMessage`-Methode auf, um die erhaltene Nachricht zu löschen.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create an SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var queueURL = "SQS_QUEUE_URL";

var params = {
  AttributeNames: ["SentTimestamp"],
  MaxNumberOfMessages: 10,
  MessageAttributeNames: ["All"],
  QueueUrl: queueURL,
  VisibilityTimeout: 20,
  WaitTimeSeconds: 0,
};

sqs.receiveMessage(params, function (err, data) {
  if (err) {
    console.log("Receive Error", err);
  } else if (data.Messages) {
    var deleteParams = {
      QueueUrl: queueURL,
      ReceiptHandle: data.Messages[0].ReceiptHandle,
    };
    sqs.deleteMessage(deleteParams, function (err, data) {
      if (err) {
        console.log("Delete Error", err);
      } else {
        console.log("Message Deleted", data);
      }
    });
  }
});
```

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

```
node sqs_receivemessage.js
```

Diesen Beispielcode finden Sie [hier auf GitHub.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_receivemessage.js)