

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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à.

# Abilitazione del polling lungo 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/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di codice di Node.js illustra:**
+ Come abilitare il long polling per una nuova coda
+ Come abilitare il long polling per una coda esistente
+ Come abilitare il long polling alla ricezione di un messaggio

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

Il polling prolungato riduce il numero di risposte vuote consentendo ad Amazon SQS di attendere un periodo di tempo specificato affinché un messaggio diventi disponibile nella coda prima di inviare una risposta. Inoltre, il polling lungo elimina le risposte vuote false creando delle query per tutti i server invece di effettuarne il campionamento. Per abilitare il polling lungo, occorre specificare un tempo di attesa diverso da zero per i messaggi ricevuti. A tale scopo puoi impostare il parametro `ReceiveMessageWaitTimeSeconds` di una coda o impostare il parametro `WaitTimeSeconds` su un messaggio quando viene ricevuto.

In questo esempio, viene utilizzata una serie di moduli Node.js per abilitare il long polling. I moduli Node.js utilizzano l'SDK per JavaScript abilitare il polling lungo utilizzando questi metodi della classe client: `AWS.SQS`
+ [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)

Per ulteriori informazioni sul long polling di Amazon SQS, consulta Long Polling [nella](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html) *Amazon Simple Queue* Service Developer Guide.

## Attività prerequisite
<a name="sqs-examples-enable-long-polling-prerequisites"></a>

Per configurare ed eseguire questo esempio, è necessario completare queste attività:
+ Installa Node.js. Per ulteriori informazioni sull'installazione di Node.js, consulta il [sito Web Node.js](https://nodejs.org).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md).

## Abilitazione del long polling alla creazione di una coda
<a name="sqs-examples-enable-long-polling-on-queue-creation"></a>

Crea un modulo Node.js con il nome del file `sqs_longpolling_createqueue.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon SQS, crea un oggetto di `AWS.SQS` servizio. Crea un oggetto JSON contenente i parametri necessari per creare una coda, incluso un valore diverso da zero per il parametro `ReceiveMessageWaitTimeSeconds`. Chiama il metodo `createQueue`. Il long polling viene quindi abilitato per la coda.

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

Digita la seguente riga di comando per eseguire l'esempio.

```
node sqs_longpolling_createqueue.js
```

Questo codice di esempio può essere trovato [qui](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_createqueue.js). GitHub

## Abilitazione del long polling su una coda esistente
<a name="sqs-examples-enable-long-polling-existing-queue"></a>

Crea un modulo Node.js con il nome del file `sqs_longpolling_existingqueue.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon Simple Queue Service, crea un oggetto `AWS.SQS` servizio. Crea un oggetto JSON contenente i parametri necessari per impostare gli attributi della coda, inclusi un valore diverso da zero per il parametro `ReceiveMessageWaitTimeSeconds` e l'URL della coda. Chiama il metodo `setQueueAttributes`. Il long polling viene quindi abilitato per la coda.

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

Digita la seguente riga di comando per eseguire l'esempio.

```
node sqs_longpolling_existingqueue.js
```

Questo codice di esempio può essere trovato [qui](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_existingqueue.js). GitHub

## Abilitazione del long polling alla ricezione del messaggio
<a name="sqs-examples-enable-long-polling-on-receive-message"></a>

Crea un modulo Node.js con il nome del file `sqs_longpolling_receivemessage.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon Simple Queue Service, crea un oggetto `AWS.SQS` servizio. Crea un oggetto JSON contenente i parametri necessari per ricevere messaggi, inclusi un valore diverso da zero per il parametro `WaitTimeSeconds` e l'URL della coda. Chiama il metodo `receiveMessage`.

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

Digita la seguente riga di comando per eseguire l'esempio.

```
node sqs_longpolling_receivemessage.js
```

Questo codice di esempio può essere trovato [qui](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_receivemessage.js). GitHub