Amazon Simple Queue Service (Amazon SQS)

Amazon Simple Queue Service (Amazon SQS) est une file d'attente fiable, hautement évolutive et hébergée pour stocker les messages alors qu'ils se déplacent entre les ordinateurs. Avec Amazon SQS, les développeurs peuvent déplacer des données entre les composants distribués de leur application qui effectue différentes tâches, sans perdre de messages ou exiger la disponibilité de chaque composant. Amazon SQS facilite la création d'un flux de travail automatisé, fonctionnant en étroite collaboration avec Amazon Elastic Compute Cloud (Amazon EC2) et les autres services Web d'infrastructure AWS.

Amazon SQS fonctionne en exposant comme un service Web l'infrastructure Amazon de messagerie à l'échelle du Web. Tout ordinateur sur Internet peut ajouter ou lire des messages sans aucun logiciel installé ou configuration spéciale du pare-feu. Les composants d'une application utilisant Amazon SQS peuvent fonctionner indépendamment, et n'ont pas besoin d'être sur le même réseau, développés avec les mêmes technologies ou de fonctionner en même temps.

Faites vos premiers pas avec
AWS gratuitement

Le niveau gratuit d'AWS comprend 1 million de demandes avec Amazon Simple Queue Service (SQS).

Voir les détails relatifs au niveau gratuit d'AWS »


Cette page contient les catégories d'informations suivantes. Cliquez pour aller en bas de page :

Amazon SQS – Fonctionnalité

  • Les développeurs peuvent créer un nombre illimité de files d'attente Amazon SQS avec un nombre illimité de messages.
  • Il est possible de créer une file d'attente dans n'importe quelle région.
  • Le corps du message peut contenir jusqu'à 64 Ko de texte dans n'importe quel format.
  • Les messages peuvent être envoyés, reçus ou supprimés par lot de 10 messages ou 64 Ko maximum. Il vous en coûtera autant pour un lot que pour un seul message, ce qui signifie que cela peut être encore plus intéressant financièrement pour les clients qui choisissent cette option.
  • Les messages peuvent être retenus dans des files d'attente pendant 14 jours maximum.
  • Les messages peuvent être envoyés et lus simultanément.
  • Lorsqu'un message est reçu, il devient « verrouillé » lors de son traitement. Ceci empêche d'autres ordinateurs de traiter le message simultanément. Si le traitement du message échoue, le verrouillage expirera et le message sera à nouveau disponible. Au cas où l'application a besoin de plus de temps de traitement, le détail d'attente « verrouillage » peut être modifié dynamiquement via la fonction ChangeMessageVisibility.
  • Les développeurs peuvent partager des files d'attente Amazon SQS avec d'autres, de façon sécurisée Les files d'attente peuvent être partagées avec d'autres comptes AWS et anonymement. Le partage de file d'attente peut aussi est restreint par adresse IP et heure locale.
  • En utilisant Amazon Simple Notification Service (SNS), les développeurs peuvent « distribuer » des messages identiques à plusieurs files d'attente SQS en parallèle. Lorsque les développeurs veulent traiter les messages en plusieurs étapes, cette distribution permet une réalisation plus rapide, en limitant les retards dus à des goulets d'étranglement à un stade donné. La distribution permet également d'enregistrer un double de vos messages, par exemple sur différentes bases de données.

Éléments principaux du service

Amazon SQS fournit des avantages significatifs sur la complexité des systèmes de messagerie endogènes ou les dépenses permanentes des systèmes sous licence ou hébergés.

Fiable – Amazon SQS fonctionne à l'intérieur des centres de données de haute disponibilité d'Amazon, les files d'attente seront donc disponibles quand les applications en ont besoin. Pour empêcher la perte ou l'indisponibilité des messages, tous sont stockés de façon redondante dans plusieurs serveurs et centres de données.

Simple – Les développeurs peuvent démarrer avec Amazon SQS avec seulement cinq API : CreateQueue, SendMessage, ReceiveMessage, ChangeMessageVisibility, et DeleteMessage. D'autres API sont disponibles pour fournir des fonctionnalités avancées.

Evolutif – Amazon SQS a été conçu pour permettre à un nombre illimité de services de lire et d'écrire un nombre illimité de messages et ce, à tout moment.

Sécurisé – Des mécanismes d'authentification sont fournis pour garantir que les messages stockés dans les files d'attente Amazon SQS sont sécurisés contre les accès non autorisés.

Peu coûteux – Aucun frais d'avance ou fixe. Les seuls coûts pour envoyer des messages par Amazon SQS sont des frais minimes de traitement par demande et de traitement de données.


Utilisation d'Amazon SQS avec d'autres services Web d'infrastructure AWS

Amazon SQS peut être utilisé avec Amazon EC2, ainsi qu'Amazon S3 et Amazon SimpleDB pour rendre les applications plus flexibles et plus évolutives. Un cas d'application courant est de créer un flux de travail automatisé et intégré, où plusieurs composants ou modules doivent communiquer entre eux, mais ne peuvent pas tous traiter la même charge de travail simultanément. Dans ce cas, les files d'attente SQS déplacent les messages devant être traités de façon ordonnée par l'application de l'utilisateur fonctionnant sur les instances d'Amazon EC2. Les instances d'Amazon EC2 peuvent lire la file d'attente, traiter la tâche et poster ensuite les résultats comme messages à une autre file d'attente SQS (peut-être pour un traitement supplémentaire par une autre application). Parce qu'Amazon EC2 permet aux applications d'agrandir et de réduire leur taille de manière dynamique, les développeurs d'application peuvent facilement varier le nombre d'instances calculées sur la base de la quantité de travail dans les files d'attente SQS, afin d'assurer que les tâches sont exécutées en temps opportun.

Par exemple, voici comment un site de transcodage de vidéo utilise ensemble Amazon EC2, Amazon SQS, Amazon S3 et Amazon SimpleDB. Les utilisateurs finaux soumettent les vidéos devant être transcodées au site. Les vidéos sont stockées dans Amazon S3 et un message (« le message de demande ») est placé dans une file d'attente Amazon SQS (« la file d'attente entrante ») avec un pointeur vers la vidéo et le format cible de la vidéo dans le message. Le moteur de transcodage, fonctionnant sur un ensemble d'instances Amazon EC2, lit le message de demande depuis la file d'attente entrante, récupère la vidéo d'Amazon S3 en utilisant le pointeur et effectue le transcodage de la vidéo dans le format cible. Le vidéo convertie est remise dans Amazon S3 et un autre message (« le message de réponse ») est placé dans une autre file d'attente Amazon SQS (« la file d'attente sortante ») à l'aide d'un pointeur vers la vidéo convertie. En même temps, des métadonnées concernant la vidéo (par exemple, le format, la date de création et la longueur) peuvent être indexées dans Amazon SimpleDB pour faciliter la mise en file d'attente. Pendant ce flux de travail, une instance Amazon EC2 dédiée peut constamment surveiller la file entrante et, selon le nombre de messages, ajuster dynamiquement le nombre d'instances Amazon EC2 de transcodage pour répondre aux exigences de temps de réponse du client.


Tarification

Vous ne payez que ce que vous utilisez. Il n'y a pas de frais minimum. Estimez votre facture mensuelle en utilisant le Calculateur mensuel simple AWS.

Niveau gratuit*
Vous pouvez démarrer gratuitement avec Amazon SQS. Les clients, nouveaux et actuels, bénéficient d'un million de demandes de mise en file d'attente Amazon SQS gratuitement chaque mois. Certaines applications peuvent fonctionner dans cette limite de niveau gratuit.

Demandes

  • 0,50 USD par tranche d'un million de demandes Amazon SQS (0,0000005 USD par demande SQS)
  • Un lot (comprenant jusqu'à 10 messages ou 64 Ko) par demande est facturé au même prix qu'un seul message.

Les demandes Amazon SQS sont : CreateQueue, ListQueues, DeleteQueue, SendMessage, SendMessageBatch, ReceiveMessage, ChangeMessageVisibility, ChangeMessageVisibilityBatch, DeleteMessage, DeleteMessageBatch, SetQueueAttributes, GetQueueAttributes, GetQueueUrl, AddPermission, et RemovePermission.

Transfert de données**

Le tarif ci-dessous est basé sur les données transférées « entrantes » et « sortantes » de Amazon SQS.

Le transfert des données « entrantes » et « sortantes » fait référence au transfert dans et hors d'Amazon SQS. Les données transférées entre Amazon SQS et Amazon EC2 dans une seule région sont gratuites (c.-à-d., 0,00 USD par Go). Les données transférées entre Amazon SQS et Amazon EC2 dans différentes régions seront facturées aux tarifs de transfert de données Internet des deux côtés du transfert.

* Votre utilisation gratuite est calculée chaque mois sur l'ensemble des régions et appliquée automatiquement à votre facture ; les quotas d'utilisation gratuite ne sont pas cumulables.
** Dans le cadre du niveau d'utilisation gratuite d'AWS, les nouveaux clients AWS recevront 15 Go de transfert de données sortant chaque mois regroupé parmi tous les services AWS pendant un an.
*** Les niveaux de tarification des transferts sortants prennent en compte votre utilisation totale des transferts de données sortants via Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway et Amazon VPC.

Description détaillée

Travailler avec Amazon SQS

Vous accéderez facilement à Amazon SQS via AWS Management Console, qui fournit aux utilisateurs une interface Web pointer-cliquer pour installer et gérer Amazon SQS.

Demandes de fil d'attente de base

Amazon SQS emploie une interface simple,facile à utiliser et très flexible. Les demandes suivantes sont fournies :

  • CreateQueue : crée des files d'attente pour une utilisation avec votre compte AWS.
  • ListQueues : liste vos files d'attente existantes.
  • DeleteQueue : supprime une de vos files d'attente.
  • SendMessage : Ajoute des messages à une file d'attente spécifiée.
  • SendMessageBatch : Ajoute plusieurs messages à une file d'attente spécifiée.
  • ReceiveMessage : retourne un ou plusieurs messages d'une file d'attente spécifiée.
  • ChangeMessageVisibility : modifie le délai d'attente de la visibilité d'un message reçu précédemment.
  • ChangeMessageVisibilityBatch : Modifie le délai de visibilité de plusieurs messages reçus précédemment.
  • DeleteMessage : supprime d'une liste d'attente spécifiée un message reçu précédemment.
  • DeleteMessageBatch : Supprime plusieurs messages précédemment reçus d'une file d'attente spécifiée.
  • SetQueueAttributes : contrôle les paramètres de file d'attente comme le temps pendant lequel les messages sont verrouillés après avoir été lus, pour qu'ils ne puissent pas être relus.
  • GetQueueAttributes : Obtient les informations sur une file d'attente, telles que le nombre de messages qu'elle contient.
  • GetQueueUrl : Obtient l'URL de la file d'attente.
  • AddPermission : ajoute un partage de file d'attente pour un autre compte AWS pour une file d'attente spécifiée.
  • RemovePermission : supprime un compte AWS d'un partage de file d'attente pour une file d'attente spécifiée.

Cycle de vie des messages Amazon SQS

Les messages stockés dans Amazon SQS ont un cycle de vie facile à gérer, mais qui garantit le traitement de tous les messages.

  1. Un système qui doit envoyer un message trouvera une file d'attente Amazon SQS, et utilisera SendMessage pour lui ajouter un nouveau message.
  2. Un système différent qui traite des messages doit traiter plus de messages, il appelle donc ReceiveMessage, et ce message est retourné.
  3. Une fois un message retourné par ReceiveMessage, il ne sera pas retourné par un autre ReceiveMessage avant que le délai de visibilité ne soit passé. Ainsi, plusieurs ordinateurs peuvent traiter le même message immédiatement.
  4. Si le système qui traite les messages terminent avec succès le traitement de ce message, il appelle DeleteMessage, ce qui supprime le message de la file d'attente pour que personne d'autre ne le traite. Si ce système ne réussit pas à traiter le message, il sera alors lu par un autre appel ReceiveMessage dès que le délai de visibilité passe.

Versions WSDL précédentes

La version actuelle d'Amazon SQS est WSDL version 2011-10-01. La précédente version est WSDL version 2009-02-01 qui est rétro compatible avec WSDL 2008-01-01. Comme annoncé en février 2008, WSDL versions 2007-05-01 et 2006-04-01 ont été déclassées. Nous n'acceptons pas de nouveaux utilisateurs sur ces anciennes versions. Nous recommandons donc de migrer vos applications vers une version WSDL prise en charge par Amazon SQS dès que possible.

Notez que certaines bibliothèques ou applications peuvent toujours être construites sur la ou les versions précédentes du service (01/05/2007 ou 01/04/2006). Si vous utilisez une bibliothèque ou application qui utilise Amazon SQS, veuillez vérifier avec son fournisseur pour savoir quelle version du service est utilisée.


Utilisation prévue et restrictions

Votre utilisation de ce service est soumise au Contrat client Amazon Web Services



Services connexes
Contactez directement notre équipe d'assistance technique.

Pour des applications plus flexibles et évolutives, utilisez Amazon SQS avec les éléments suivants :




Ressource en vedette
Lisez « Création d'applications Amazon EC2 évolutives et fiables avec Amazon SQS. »

livre blanc Lire le livre blanc (pdf)



Amazon SQS embauche¬!



Venez travailler pour Amazon SQS et développez le futur de la messagerie.

En savoir plus









©2013, Amazon Web Services, Inc. or its affiliates. Tous droits réservés.