

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

# Invio e ricezione di messaggi 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/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di codice di Node.js illustra:**
+ Come inviare messaggi in una coda.
+ Come ricevere messaggi in una coda.
+ Come eliminare messaggi in una coda.

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

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

*Per ulteriori informazioni sui messaggi Amazon SQS, consulta [Invio di un messaggio a una coda Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message.html) [e Ricezione ed eliminazione di un messaggio da una coda Amazon SQS nella Amazon Simple Queue Service Developer](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-receive-delete-message.html) Guide.*

## Attività prerequisite
<a name="sqs-examples-send-receive-messages-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).
+ Creare una coda Amazon SQS. Per un esempio di creazione di una coda, consulta [Utilizzo delle code in Amazon SQS](sqs-examples-using-queues.md).

## Invio di un messaggio a una coda
<a name="sqs-examples-send-receive-messages-sending"></a>

Crea un modulo Node.js con il nome del file `sqs_sendmessage.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 il tuo messaggio, incluso l'URL della coda a cui inviare il messaggio. In questo esempio, il messaggio fornisce informazioni su un libro presente in una classifica di romanzi best seller, comprendente il titolo, l'autore e il numero di settimane in classifica.

Chiama il metodo `sendMessage`. Il callback restituisce l'ID univoco del messaggio.

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

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

```
node sqs_sendmessage.js
```

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

## Ricezione ed eliminazione di messaggi da una coda
<a name="sqs-examples-send-receive-messages-receiving"></a>

Crea un modulo Node.js con il nome del file `sqs_receivemessage.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 il tuo messaggio, incluso l'URL della coda da cui ricevere il messaggio. In questo esempio, i parametri specificano la ricezione di tutti gli attributi del messaggio, nonché la ricezione di non più di 10 messaggi.

Chiama il metodo `receiveMessage`. Il callback restituisce una matrice di oggetti `Message` da cui è possibile recuperare il valore `ReceiptHandle` per ogni messaggio utilizzato in seguito per eliminare il messaggio. Crea un altro oggetto JSON contenente i parametri necessari per eliminare il messaggio, ovvero l'URL della coda e il valore `ReceiptHandle`. Chiama il metodo `deleteMessage` per eliminare il messaggio ricevuto.

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

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

```
node sqs_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_receivemessage.js). GitHub