

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Envoi et réception de messages dans Amazon SQS
<a name="sqs-examples-send-receive-messages"></a>

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

**Cet exemple de code Node.js présente :**
+ Comment envoyer des messages dans une file d'attente.
+ Comment recevoir des messages dans une file d'attente.
+ Comment supprimer des messages dans une file d'attente.

## Scénario
<a name="sqs-examples-send-receive-messages-scenario"></a>

Dans cet exemple, une série de modules Node.js est utilisée pour envoyer et recevoir des messages. Les modules Node.js utilisent le SDK pour JavaScript envoyer et recevoir des messages en utilisant les méthodes suivantes de la 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)

Pour plus d'informations sur les messages Amazon SQS, consultez [Envoyer un message à une file d'attente Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message.html) [et Recevoir et supprimer un message d'une file d'attente Amazon SQS dans le guide du développeur Amazon](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-receive-delete-message.html) *Simple Queue Service*.

## Tâches prérequises
<a name="sqs-examples-send-receive-messages-prerequisites"></a>

Pour configurer et exécuter cet exemple, vous devez d'abord :
+ Installez Node.js. Pour plus d'informations sur l'installation de Node.js, consultez le [site web de Node.js](https://nodejs.org).
+ Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez [Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé](loading-node-credentials-shared.md).
+ Créez une file d’attente Amazon SQS. Pour obtenir un exemple de création de file d'attente, consultez [Utilisation des files d'attente dans Amazon SQS](sqs-examples-using-queues.md).

## Envoi d'un message à une file d'attente
<a name="sqs-examples-send-receive-messages-sending"></a>

Créez un module Node.js nommé `sqs_sendmessage.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon SQS, créez un objet de `AWS.SQS` service. Créez un objet JSON contenant les paramètres obligatoires pour votre message, y compris l'URL de la file d'attente à laquelle vous souhaitez envoyer ce message. Dans cet exemple, le message fournit des détails au sujet d'un livre se trouvant sur une liste des meilleurs ouvrages de fiction, y compris le titre, l'auteur, et le nombre de semaines sur la liste.

Appelez la méthode `sendMessage`. Le rappel retourne l'ID unique du message.

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

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node sqs_sendmessage.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_sendmessage.js).

## Réception et suppression des messages provenant d'une file d'attente
<a name="sqs-examples-send-receive-messages-receiving"></a>

Créez un module Node.js nommé `sqs_receivemessage.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon SQS, créez un objet de `AWS.SQS` service. Créez un objet JSON contenant les paramètres obligatoires pour votre message, y compris l'URL de la file d'attente à partir de laquelle vous souhaitez recevoir ce message. Dans cet exemple, les paramètres spécifient la réception de tous les attributs de message, ainsi que la réception de 10 messages maximum.

Appelez la méthode `receiveMessage`. Le rappel retourne un tableau d'objets `Message` à partir duquel vous pouvez récupérer la valeur `ReceiptHandle` pour chaque message que vous utilisez, afin de supprimer ultérieurement le message. Créez un autre objet JSON contenant les paramètres obligatoires pour supprimer le message, qui sont l'URL de la file d'attente et la valeur `ReceiptHandle`. Appelez la méthode `deleteMessage` pour supprimer le message reçu.

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

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node sqs_receivemessage.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_receivemessage.js).