

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.

# Aktivieren von Langabfragen in Amazon SQS
<a name="sqs-examples-enable-long-polling"></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:**
+ Aktivieren von Langabfragen für eine neuerstellte Warteschlange
+ Aktivieren von Langabfragen für eine vorhandene Warteschlange
+ Aktivieren von Langabfragen bei Nachrichtenempfang

## Das Szenario
<a name="sqs-examples-enable-long-polling-scenario"></a>

Lange Abfragen reduzieren die Anzahl leerer Antworten, indem Amazon SQS eine bestimmte Zeit warten kann, bis eine Nachricht in der Warteschlange verfügbar ist, bevor eine Antwort gesendet wird. Durch Langabfragen lassen sich außerdem falsch leere Antworten vermeiden, indem die Anfrage statt an eine Auswahl an Servern an alle Server gesendet wird. Zum Aktivieren von Langabfragen müssen Sie für empfangene Nachrichten eine Wartezeit ungleich Null angeben. Dies können Sie durch Festlegen des `ReceiveMessageWaitTimeSeconds`-Parameters einer Warteschlange oder des `WaitTimeSeconds`-Parameters für eine Nachricht bei deren Empfang vornehmen.

In diesem Beispiel wird eine Reihe von Node.js-Modulen zum Aktivieren von Langabfragen verwendet. Die Module von Node.js verwenden das SDK JavaScript , um lange Abfragen mithilfe der folgenden Methoden der `AWS.SQS` Client-Klasse zu ermöglichen:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#setQueueAttributes-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#setQueueAttributes-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#createQueue-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#createQueue-property)

Weitere Informationen zu Amazon SQS Long Polling finden Sie unter [Long Polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html) im *Amazon Simple Queue Service* Developer Guide.

## Erforderliche Aufgaben
<a name="sqs-examples-enable-long-polling-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).

## Aktivieren der Langabfrage beim Erstellen einer Warteschlange
<a name="sqs-examples-enable-long-polling-on-queue-creation"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `sqs_longpolling_createqueue.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 zum Erstellen einer Warteschlange enthält, einschließlich eines Wertes ungleich Null für den `ReceiveMessageWaitTimeSeconds`-Parameter. Rufen Sie die `createQueue`-Methode auf. Die Langabfrage ist nun für die Warteschlange aktiviert.

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

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

var params = {
  QueueName: "SQS_QUEUE_NAME",
  Attributes: {
    ReceiveMessageWaitTimeSeconds: "20",
  },
};

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

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

```
node sqs_longpolling_createqueue.js
```

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

## Aktivieren der Langabfrage für eine vorhandene Warteschlange
<a name="sqs-examples-enable-long-polling-existing-queue"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `sqs_longpolling_existingqueue.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon Simple Queue Service zuzugreifen, erstellen Sie ein `AWS.SQS` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die erforderlichen Parameter zum Festlegen der Warteschlangenattribute enthält. Dazu gehören ein Wert ungleich Null für die `ReceiveMessageWaitTimeSeconds`-Eigenschaft und die URL der Warteschlange. Rufen Sie die `setQueueAttributes`-Methode auf. Die Langabfrage ist nun für die Warteschlange aktiviert.

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

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

var params = {
  Attributes: {
    ReceiveMessageWaitTimeSeconds: "20",
  },
  QueueUrl: "SQS_QUEUE_URL",
};

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

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

```
node sqs_longpolling_existingqueue.js
```

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

## Aktivieren von Langabfragen beim Nachrichteneingang
<a name="sqs-examples-enable-long-polling-on-receive-message"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `sqs_longpolling_receivemessage.js`. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon Simple Queue Service zuzugreifen, erstellen Sie ein `AWS.SQS` Serviceobjekt. Erstellen Sie ein JSON-Objekt, das die erforderlichen Parameter zum Empfangen von Nachrichten enthält. Dazu gehören ein Wert ungleich Null für die `WaitTimeSeconds`-Eigenschaft und die URL der Warteschlange. Rufen Sie die `receiveMessage`-Methode auf.

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

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

var queueURL = "SQS_QUEUE_URL";

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

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

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

```
node sqs_longpolling_receivemessage.js
```

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