Q : Qu'est-ce qu'Amazon SQS ?

Amazon Simple Queue Service (Amazon SQS) est un service Web qui vous donne accès aux files d'attente de messages qui stockent les messages en attente de traitement. Avec Amazon SQS, vous pouvez développer rapidement des applications de file d'attente de messages, qui peuvent être exécutées sur n'importe quel ordinateur.

Amazon SQS offre une file d'attente hébergée, fiable et hautement évolutive pour le stockage de messages en transit entre différents ordinateurs. Grâce à Amazon SQS, vous pouvez déplacer des données entre différents composants d'application distribués, sans perdre de messages ni avoir besoin que chaque composant soit toujours disponible.

Amazon SQS peut vous aider à développer une application distribuée dotée de composants séparés, fonctionnant en étroite collaboration avec Amazon Elastic Compute Cloud (Amazon EC2) et d'autres services Web d'infrastructure AWS.

Q : Que puis-je faire avec Amazon SQS ?

Amazon SQS étant hautement évolutif, vous ne payez que ce que vous utilisez réellement. Vous pouvez commencer avec une application de petite envergure, puis la faire évoluer en même temps que les besoins de votre entreprise, sans jamais nuire à la fiabilité ou aux performances. Grâce à Amazon SQS, vous n'avez plus besoin de vous soucier du stockage ni de la gestion de vos messages et pouvez vous concentrer sur le développement d'applications sophistiquées et robustes basées sur des messages.

Voici quelques idées :

  • Intégrer Amazon SQS à d'autres services AWS pour rendre vos applications plus fiables et plus flexibles.
  • Utiliser Amazon SQS pour créer des files d'attente de travail dans lesquelles chaque message est une tâche qui doit être effectuée par un processus. Laisser un (ou plusieurs) ordinateurs lire des tâches depuis la file d'attente de messages, puis les traiter.
  • Développer une architecture de microservices et utiliser les files d'attente de messages pour connecter vos différents microservices.
  • Conserver les notifications d'événements importants pour votre entreprise dans une file d'attente de messages Amazon SQS. Chaque évènement peut disposer d'un message correspondant dans une file d'attente de messages. Les applications qui doivent être informées de l'évènement peuvent donc lire et traiter les messages.

Q : Comment démarrer avec Amazon SQS ?

La création d'une file d'attente Amazon SQS ne demande que quelques étapes.

  1. Dans AWS Management Console, sélectionnez SQS.
  2. Sur la page Create New Queue, assurez-vous que la bonne région est indiquée, puis saisissez le nom de la file d'attente dans le champ Queue Name (exemple : MaFileDAttente).
  3. Vérifiez les descriptions des éléments Standard Queue et FIFO Queue, puis sélectionnez un type de file d'attente.
  4. Cliquez sur Quick-Create Queue.
    Votre file d'attente est créée.
  5. Cliquez sur Go to Dashboard.
    Votre nouvelle file d'attente est sélectionnée dans la liste des files d'attente.
  6. Dans la liste déroulante Queue Actions, sélectionnez Send a Message.
    La boîte de dialogue Send a Message to MaFileDAttente s'affiche.
  7. Envoyez votre message.
    • Pour envoyer un message vers une file d'attente standard, saisissez le texte dans le champ Message Body, puis cliquez sur Send Message.
    • Pour envoyer un message vers une file d'attente FIFO, saisissez le texte dans le champ Message Body, indiquez les valeurs obligatoires Message Group ID et Message Deduplication ID, puis cliquez sur Send Message.
    Le message est envoyé et une confirmation reprenant les attributs du message s'affiche.
  8. Pour finir, cliquez sur Close.

Pour en savoir plus, consultez le manuel Amazon SQS Developer Guide, ainsi que l'exemple de code dans le Centre de ressources.

Q : Quels sont les avantages d'Amazon SQS par rapport aux systèmes de file d'attente conçus en interne ou intégrés ?

Amazon SQS offre plusieurs avantages par rapport au développement de votre propre logiciel de gestion de files d'attente de messages ou par rapport à l'utilisation de systèmes de file d'attente de messages commerciaux ou open source, dont le développement et la configuration nécessitent un investissement considérable en temps.

Ces alternatives nécessitent des ressources en maintenance du matériel et en administration des systèmes. La complexité de la configuration et de la gestion de ces systèmes est aggravée par la nécessité de mettre en place un stockage redondant des messages, afin d'éviter que les messages soient perdus en cas de défaillance du matériel.

Par opposition, Amazon SQS ne suppose aucuns frais généraux administratifs et nécessite peu de configuration. Amazon SQS fonctionne à très grande échelle et traite des milliards de messages par jour. Vous pouvez augmenter ou réduire la quantité de trafic envoyée à Amazon SQS sans la moindre configuration. Amazon SQS permet également aux messages de bénéficier d'une durabilité extrêmement élevée, ce qui renforce votre confiance et celle de vos parties prenantes.

Q : Amazon SQS propose-t-il une fonctionnalité de classement des messages ?

Oui. Les files d'attente FIFO (premier entré, premier sorti) préservent l'ordre exact selon lequel les messages sont envoyés et reçus. Si vous utilisez une file d'attente FIFO, il est inutile d'ajouter des informations de séquençage dans vos messages. Pour en savoir plus, reportez-vous à la section FIFO Queue Logic (Logique des files d'attente FIFO) du manuel Amazon SQS Developer Guide.

Les files d'attente standard proposent une fonctionnalité FIFO libre, qui tente de préserver l'ordre des messages. Cependant, dans la mesure où ces files d'attente standard sont conçues pour être extrêmement évolutives à travers une architecture hautement distribuée, il n'est pas garanti que la réception des messages aura lieu précisément selon leur ordre d'envoi.

Q : Le service Amazon SQS garantit-il la remise des messages ?

Les files d'attente standard proposent une fonctionnalité de remise au moins une fois, qui garantit au moins une remise pour chaque message.

Les files d'attente FIFO fournissent un traitement en une seule fois, ce qui signifie que chaque message est délivré une fois et reste disponible tant qu'un consommateur ne l'a pas traité et supprimé. Aucun doublon n'est jamais inséré dans la file d'attente.

 

Q : En quoi Amazon SQS diffère-t-il d'Amazon SWF ?

Amazon SQS et Amazon SWF sont deux services qui facilitent l'intégration d'applications ou de microservices :

  • Amazon Simple Queue Service (Amazon SQS) s'appuie sur des files d'attente hébergées fiables et hautement évolutives pour stocker les messages qui transitent entre des applications ou des microservices. Avec Amazon SQS, vous pouvez déplacer des données entre composants d'applications distribuées et découpler ces composants.
  • Amazon Simple Workflow Service (Amazon SWF) est un service Web qui facilite la coordination de travaux parmi les composants d'applications distribuées.

Voici les principales différences entre Amazon SQS et Amazon SWF :

  • Les actions de l'API d'Amazon SWF sont axées sur les tâches. Les actions de l'API d'Amazon SQS sont axées sur les messages.
  • Amazon SWF garde une trace de l'ensemble des tâches et événements d'une application. Amazon SQS nécessite que vous assuriez vous-même le suivi par application, en particulier si votre application utilise plusieurs files d'attente.
  • Amazon SWF Console et les API de visibilité offrent une vue orientée application qui vous permet notamment de rechercher des exécutions, de zoomer sur les détails d'une exécution et d'administrer des exécutions. Amazon SQS nécessite que vous implémentiez vous-même ces fonctionnalités additionnelles.
  • Amazon SWF propose plusieurs fonctionnalités qui facilitent le développement d'applications, comme la transmission de données entre les tâches, la signalisation ou encore la flexibilité en matière de distribution des tâches. Amazon SQS nécessite que vous implémentiez vous-même diverses fonctionnalités au niveau des applications.
  • En plus d'un SDK intégré chargé de faire appel aux API de service, Amazon SWF propose le kit AWS Flow Framework, qui vous permet de développer rapidement des applications distribuées à l'aide de syntaxes de programmation visant à structurer des interactions asynchrones.

Bien que vous puissiez utiliser Amazon SQS pour développer des flux de travail visant à coordonner votre application distribuée, Amazon SWF vous propose cette fonction clé en main, ainsi que d'autres capacités au niveau des applications.

Nous vous recommandons d'essayer Amazon SQS et Amazon SWF pour déterminer quelle solution répond le mieux à vos besoins.

Q : En quoi Amazon SQS diffère-t-il d'Amazon Kinesis Streams ?

Amazon SQS propose une file d'attente hébergée fiable et hautement évolutive pour stocker les messages qui transitent entre des applications ou des microservices. Il déplace des données entre composants d'applications distribuées et vous permet de découpler ces composants. Amazon SQS offre des structures intergicielles courantes, telles que des files d'attente de lettre morte, et la gestion des pilules empoisonnées (« poison pill »). Il fournit également une API générale de services Web, accessible par n'importe quel langage de programmation pris en charge par le SDK d'AWS. Amazon SQS prend en charge à la fois les files d'attente standard et les files d'attente FIFO.

Choisissez Amazon SQS si vous souhaitez que chaque message ne soit consommé qu'une seule fois, ainsi que dans les cas suivants :

  • Découplage des composants d'une application : vous avez une file d'attente d'éléments de travail et souhaitez suivre de manière individuelle la bonne exécution de chaque élément. Amazon SQS assure le suivi des résultats ACK/FAIL (échecs et accusés de réception), si bien que l'application n'a pas à maintenir de point de contrôle/curseur en permanence. Quand le délai de visibilité configuré arrive à son terme, Amazon SQS supprime les messages ayant été consultés et renvoie ceux ayant échoué.
  • Configuration du délai de message individuel : vous avez une file d'attente de travail et devez lancer certaines tâches en différé. Grâce à Amazon SQS, vous pouvez différer de 15 minutes maximum l'envoi de messages spécifiques.
  • Augmentation dynamique de la concurrence/du débit pendant la lecture : vous avez une file d'attente de travail et souhaitez ajouter des lecteurs supplémentaires, le temps que toutes les tâches en attente soient exécutées. Avec Amazon Kinesis Streams, vous pouvez augmenter le nombre de partitions jusqu'à atteindre un niveau suffisant (sachez cependant que vous devrez mettre en service le nombre de partitions nécessaires à l'avance). Amazon SQS n'exige pas de mise en service préalable.
  • Dimensionnement transparent : vous mettez des requêtes en mémoire tampon et la charge évolue en fonction des pics de charge ponctuels ou suite à la croissance naturelle de votre entreprise. Étant donné qu'Amazon SQS peut traiter indépendamment chaque requête mise en mémoire tampon, son dimensionnement s'adapte de manière transparente afin de gérer la charge, sans qu'aucune instruction de votre part ne soit nécessaire.

Amazon Kinesis Streams assure le traitement en temps réel des données de Big Data diffusées en continu et permet de lire et relire les enregistrements de diverses applications Amazon Kinesis. La bibliothèque client Amazon Kinesis (KCL) envoie tous les enregistrements associés à une clé de partition donnée vers un même processeur d'enregistrements. Il est ainsi très simple de créer plusieurs applications ayant accès au même flux Amazon Kinesis, ce qui peut s'avérer utile pour combiner des tâches de décompte, d'agrégation ou encore de filtrage.

Choisissez Amazon Kinesis Streams si vous souhaitez que plusieurs consommateurs puissent traiter chaque enregistrement, ainsi que dans les scénarios suivants :

  • Acheminement d'enregistrements liés vers un même processeur d'enregistrements : diffusion en continu MapReduce. Acheminer tous les enregistrements correspondant à une clé vers le même processeur d'enregistrements facilite notamment le décompte et l'agrégation.
  • Possibilité d'avoir plusieurs applications utilisant simultanément le même flux : vous avez une application qui met à jour un tableau de bord en temps réel, tandis qu'une autre archive les données dans Amazon Redshift. Dans ce cas, les deux applications doivent pouvoir utiliser des données provenant du même flux de manière simultanée et indépendante.

Q : Est-ce qu'Amazon utilise Amazon SQS pour ses propres applications ?

Oui. Les développeurs chez Amazon utilisent Amazon SQS pour diverses applications traitant quotidiennement un grand nombre de messages. Des processus d'entreprise clés sur Amazon.com et Amazon Web Services utilisent Amazon SQS.


Q : Que puis-je faire avec l'offre gratuite Amazon SQS ?

Le niveau d'utilisation gratuit d'Amazon SQS vous offre 1 million de demandes par mois gratuitement.

De nombreuses applications à petite échelle sont en mesure de fonctionner entièrement en restant dans les limites du niveau d'utilisation gratuit. Toutefois, des frais de transfert des données peuvent tout de même s'appliquer. Pour en savoir plus, consultez la page Tarification Amazon SQS.

Le niveau d'utilisation gratuit est une offre mensuelle. Les quotas d'utilisation gratuite ne sont pas cumulables au fil des mois.

Q : Combien coûte Amazon SQS ?

Vous payez uniquement en fonction de ce que vous utilisez et il n'y a pas de frais minimum.

Le coût d'Amazon SQS est calculé par requête, auquel s'ajoutent des frais de transfert pour les données transférées en dehors d'Amazon SQS (sauf si elles sont transférées vers des instances Amazon EC2 ou des fonctions AWS Lambda au sein de la même région). Pour connaître le détail des prix par type de file d'attente et par région, reportez-vous à la section Tarification Amazon SQS.

Q : Toutes les requêtes Amazon SQS me seront-elles facturées ?

Oui, pour toutes les requêtes qui sortent du cadre gratuit. Toutes les requêtes Amazon SQS sont payantes et facturées au même tarif.

Q : Les opérations par lot d'Amazon SQS coûtent-elles plus cher que les autres requêtes ?

Non. Les opérations par lot (SendMessageBatch, DeleteMessageBatch et ChangeMessageVisbilityBatch) coûtent le même prix que les autres requêtes Amazon SQS. Regrouper les messages par lots vous permet de réduire les coûts d'Amazon SQS.

Q : Comment mon utilisation d'Amazon SQS me sera-t-elle facturée ?

L'utilisation d'Amazon SQS n'est soumise à aucuns frais initiaux. A la fin du mois, votre carte de crédit est automatiquement débitée en fonction de votre utilisation au cours du mois.

Vous pouvez consulter les frais encourus sur la période de facturation actuelle à tout moment, à partir du site Web d'AWS :

  1. Connectez-vous à votre compte AWS.
  2. Sous Vos comptes de services Web, sélectionnez Activité du compte.

Q : Vos prix sont-ils toutes taxes comprises ?

Sauf indication contraire, nos prix n'incluent pas les taxes et redevances applicables, telles que la TVA et les taxes sur les ventes applicables.

Pour les clients dont l'adresse de facturation est située au Japon, l'utilisation d'AWS (dans n'importe quelle région) est soumise à la taxe sur la consommation applicable dans ce pays. Pour en savoir plus, consultez la FAQ sur la taxe à la consommation pour l'offre Amazon Web Services.


Q : Quelles sont les différences entre une file d'attente standard et une file d'attente FIFO ?

Files d'attente standard

Les files d'attente standard sont proposées par défaut par Amazon SQS. Elles garantissent un nombre quasi-illimité de transactions par seconde. Les files d'attente standard s'assurent qu'un message est délivré au moins une fois. Cependant, il peut arriver (en raison de l'architecture hautement distribuée qui offre un débit élevé) que plusieurs exemplaires d'un message soient livrés dans le désordre. Les files d'attente standard classent au mieux les messages afin de les délivrer en respectant leur ordre d'envoi.

HTQv2

Vous pouvez utiliser les files d'attente de messages standard dans de nombreux scénarios, tant que votre application parvient à traiter les messages qui arrivent plusieurs fois et dans le désordre, par exemple :

  • Découplez les demandes utilisateur en direct et le travail intensif en arrière-plan : permettez aux utilisateurs de charger un support pendant le redimensionnement ou le codage.
  • Allouez des tâches à plusieurs nœuds de travail : traitez un grand nombre de demandes de validation de carte de paiement.
  • Organisez les messages en lots en vue de leur traitement futur : planifiez l'ajout d'entrées multiples dans une base de données.

Files d'attente FIFO

La file d'attente FIFO complète la file d'attente standard. Les principales caractéristiques de ce type de file d'attente sont la remise FIFO (premier entré, premier sorti) et le traitement une seule fois : l'ordre dans lequel les messages sont envoyés et reçus est rigoureusement préservé, et un message est délivré une fois et reste disponible tant qu'un consommateur ne l'a pas traité et supprimé ; aucun doublon n'est jamais inséré dans la file d'attente. Les files d'attente FIFO acceptent également les groupes de messages, qui permettent plusieurs groupes de messages ordonnés au sein d'une même file d'attente. Les files d'attente FIFO sont limitées à 300 transactions par seconde (TPS), mais ont toutes les capacités des files d'attente standard.
 

SOQ



Leur but est d'améliorer la transmission de messages entre les applications quand l'ordre des opérations et des événements est primordial, ou lorsque les doublons sont strictement interdits, par exemple :

  • Veiller à ce que les commandes entrées par l'utilisateur soient exécutées dans l'ordre approprié.
  • Afficher le prix correct d'un produit en envoyant les modifications de prix dans le bon ordre.
  • Empêcher un étudiant de s'inscrire à un cours avant d'avoir créé un compte.

Q : Dans quelles régions les files d'attente FIFO sont-elles disponibles ?

Les files d'attente FIFO sont actuellement disponibles dans les régions USA Est (Ohio) et USA Ouest (Oregon). Nous rendrons cette fonctionnalité disponible dans d'autres régions au cours des mois à venir.

Q : Combien d'exemplaires d'un message vais-je recevoir ?

Les files d'attente FIFO sont conçues de manière à ne jamais introduire de messages en double. Néanmoins, votre producteur de message peut introduire des doublons dans certains cas : par exemple, s'il envoie un message, ne reçoit pas de réponse, puis renvoie le même message. Les API d'Amazon SQS offrent une fonctionnalité de déduplication qui empêche votre producteur de message d'envoyer des doublons. Ainsi, chaque doublon introduit par le producteur est supprimé dans un délai de déduplication de 5 minutes.

Pour les files d'attente standard, il peut parfois arriver que vous receviez un deuxième exemplaire d'un message (remise au moins une fois). Si vous utilisez une file d'attente standard, vous devez concevoir vos applications afin qu'elles soient idempotentes (c.-à-d. qu'elles ne doivent pas être affectées si le même message est traité plus d'une fois).

Q : Les files d'attente Amazon SQS que j'utilise déjà vont-elles devenir des files d'attente FIFO ?

Non. Les files d'attente standard d'Amazon SQS (le nouveau nom des files d'attente existantes) ne changent pas, et vous pouvez toujours créer des files d'attente standard. Ces files d'attente continuent d'offrir le plus haut débit et la plus grande évolutivité. Cependant, l'ordre des messages n'est pas garanti, et des doublons risquent de survenir.

Les files d'attente standard sont adaptées à de nombreux scénarios, notamment pour la distribution des tâches avec plusieurs consommateurs idempotents.

Q : Puis-je convertir ma file d'attente standard en une file d'attente FIFO ?

Non. Vous devez choisir le type de file d'attente lors de sa création. Cependant, il est possible de passer sur une file d'attente FIFO. Pour plus d'informations, consultez Moving From a Standard Queue to a FIFO Queue dans le Guide du développeur Amazon SQS.

Q : Les files d'attente FIFO d'Amazon SQS sont-elles rétrocompatibles ?

Vous devez utiliser le dernier kit SDK AWS pour pouvoir profiter des files d'attente FIFO.

Les files d'attente FIFO utilisent les mêmes actions d'API que les files d'attente standard, et les mécanismes de réception et de suppression de messages et de modification du délai de visibilité (timeout) sont identiques. Cependant, vous devez spécifier un ID de groupe de messagerie pendant l'envoi de messages. Pour plus d'informations, consultez FIFO Queue Logic dans le Guide du développeur Amazon SQS.

Important : il est impossible de convertir une file d'attente standard en file d'attente FIFO. Pour procéder au changement, vous devez créer une nouvelle file d'attente FIFO pour votre application ou supprimer la file d'attente standard et la recréer en tant que file d'attente FIFO. Pour plus d'informations, consultez Moving From a Standard Queue to a FIFO Queue dans le Guide du développeur Amazon SQS.

Q : Les files d'attente FIFO d'Amazon SQS sont-elles compatibles avec Amazon Simple Notification Service (SNS) ?

Amazon SNS ne prend actuellement pas en charge les transferts de messages vers les files d'attente FIFO. Vous pouvez utiliser SNS pour transférer des messages vers des files d'attente standard.

Q : Les files d'attente Amazon SQS sont-elles compatibles avec le client asynchrone de mise en mémoire tampon Amazon SQS, la bibliothèque Amazon SQS Extended Client Library for Java ou le client de service de messagerie Java (JMS) Amazon SQS ?

Pas à l'heure actuelle. Nous comptons mettre à jour ces bibliothèques de clients ultérieurement. Dans l'intervalle, vous pouvez utiliser ces clients avec les files d'attente standard d'Amazon SQS.

Q : Quelles sont les métriques AWS CloudWatch prises en charge par les files d'attente FIFO d'Amazon SQS ?

Les files d'attente FIFO prennent en charge toutes les métriques compatibles avec les files d'attente standard. Avec les files d'attente FIFO, toutes les métriques approximatives renvoient des résultats précis. Les métriques AWS CloudWatch suivantes sont notamment prises en charge :

  • ApproximateNumberOfMessagesDelayed – nombre de messages dans la file d'attente qui sont retardés et qui ne peuvent pas être lus immédiatement.
  • ApproximateNumberOfMessagesVisible – nombre de messages disponibles dans cette file d'attente.
  • ApproximateNumberOfMessagesNotVisible – nombre de messages en transit (messages envoyés à un client, mais qui n'ont pas encore été supprimés ou n'ont pas dépassé leur période de visibilité).

Q : Que sont les groupes de messagerie ?

Les messages sont répartis dans des « lots » distincts et classés au sein d'une file d'attente FIFO. Pour chaque ID de groupe de messagerie, tous les messages sont envoyés et reçus en suivant rigoureusement l'ordre établi. Cependant, les messages aux ID de groupe de messagerie différents pourront être envoyés et reçus dans le désordre. Vous devez associer un ID de groupe de messagerie à un message. Si vous ne spécifiez pas d'ID de groupe de messagerie, l'action échoue.

Si plusieurs hôtes (ou différents threads dans un même hôte) envoient des messages portant le même ID de groupe de messagerie à une file d'attente FIFO, Amazon SQS délivre les messages dans l'ordre de leur arrivée pour traitement. Afin de garantir qu'Amazon SQS préserve l'ordre dans lequel les messages sont envoyés et reçus, veillez à ce que les expéditeurs envoient chaque message avec un ID de groupe de messagerie unique.  

Q : Les files d'attente FIFO d'Amazon SQS peuvent-elles prendre en charge plusieurs producteurs ?

Oui. Une même file d'attente FIFO peut recevoir des messages d'un ou plusieurs producteurs. Les messages sont stockés dans l'ordre de leur réception par Amazon SQS.

Si plusieurs producteurs envoient des messages en parallèle sans atteindre la confirmation des actions SendMessage ou SendMessageBatch, l'ordre entre les producteurs risque de ne pas être préservé. La réponse des actions SendMessage ou SendMessageBatch contient l'ordre final utilisé par les files d'attente FIFO pour placer les messages d'attente dans la file, afin que votre code à plusieurs producteurs parallèles puisse déterminer l'ordre final des messages dans la file.

Q : Les files d'attente FIFO d'Amazon SQS peuvent-elles prendre en charge plusieurs consommateurs ?

Oui. Nous recommandons d'utiliser un seul consommateur par groupe de messagerie pour favoriser le traitement des messages dans le bon ordre. Les files d'attente FIFO offrent des options ReceiveMessage supplémentaires adaptées aux environnements rassemblant plusieurs consommateurs :

  • Dans un système à consommateur unique hautement disponible, dans lequel plusieurs consommateurs sont en concurrence pour recevoir le message suivant dans la file d'attente, vous pouvez configurer la file d'attente pour rendre le message visible aux autres consommateurs uniquement après la suppression du message en transit ou l'expiration du délai de visibilité (timeout). Ainsi, un seul consommateur traite le lot de messages suivant. Les autres messages doivent attendre la fin ou l'échec de l'opération du consommateur.
  • En cas de traitement parallèle de messages, avec plusieurs consommateurs recevant des messages en même temps, une file d'attente FIFO renverra les messages dans l'ordre, mais vos consommateurs risquent de les voir dans le désordre à cause de problèmes de mise en réseau.

Q : Puis-je utiliser une file d'attente dead letter queue avec les files d'attente FIFO ?

Oui. Cependant, vous devez utiliser une file d'attente dead letter queue FIFO avec une file d'attente FIFO. (De même, vous ne pouvez utiliser qu'une file d'attente dead letter queue standard avec une file d'attente standard).

Q : Quel est le débit maximal d'une file d'attente FIFO Amazon SQS ?

Une file d'attente FIFO peut actuellement soutenir un débit maximal de 300 transactions par seconde (TPS). (Les files d'attente standard ont un débit illimité.)


Q : Puis-je utiliser Amazon SQS avec d'autres services AWS ?

Oui. Vous pouvez rendre vos applications plus flexibles et plus évolutives en utilisant Amazon SQS avec des services de calcul comme Amazon EC2, Amazon EC2 Container Service (Amazon ECS) et AWS Lambda, ainsi qu'avec des services de stockage et de base de données comme Amazon Simple Storage Service (Amazon S3) et Amazon DynamoDB.

Un cas d'utilisation courant consiste à créer une application distribuée séparée, 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 précis, les files d'attente de messages Amazon SQS transportent les messages à traiter par l'application qui est exécutée sur des instances Amazon EC2.

Les instances Amazon EC2 peuvent lire la file d'attente de messages, traiter la tâche, puis publier les résultats sous forme de messages dans une autre file d'attente de messages Amazon SQS (pour être par exemple traités par une autre application). Comme Amazon EC2 permet le dimensionnement d'applications de manière dynamique à la hausse ou à la baisse, les développeurs d'applications peuvent faire varier le nombre d'instances de calcul en fonction de la quantité de messages dans les files d'attente Amazon SQS à l'aide d'Auto Scaling, afin de s'assurer que les tâches sont exécutées en temps opportun.

Q : Pouvez-vous me donner un exemple de cas d'utilisation pour Amazon SQS ?

Voici comment un site de transcodage vidéo utilise conjointement Amazon EC2, Amazon SQS, Amazon S3 et Amazon DynamoDB :

  1. Les utilisateurs finaux envoient les vidéos à transcoder sur le site.
  2. Les vidéos sont stockées dans Amazon S3 et le message de requête est placé dans une file d'attente entrante Amazon SQS et contient un pointeur vers la vidéo et vers le format cible.
  3. Le moteur de transcodage, exécuté sur un ensemble d'instances Amazon EC2, lit le message de requête depuis la file d'attente entrante, récupère la vidéo dans Amazon S3 à l'aide du pointeur, et effectue le transcodage de la vidéo dans le format cible.
  4. La vidéo convertie est replacée dans Amazon S3 et un autre message de réponse est placé dans une autre file d'attente sortante Amazon SQS, contenant un pointeur vers la vidéo convertie.
  5. Simultanément, les métadonnées de la vidéo (format, date de création, durée, etc.) sont indexées dans Amazon DynamoDB à des fins d'interrogation.

Au cours de ce flux de travail, une instance Auto Scaling dédiée peut surveiller en permanence la file d'attente entrante. En fonction du nombre de messages présents dans la file d'attente, l'instance Auto Scaling ajuste de manière dynamique le nombre d'instances de transcodage Amazon EC2 afin de répondre aux exigences des clients du site en matière de temps de réponse.

Q : Comment puis-je interagir avec Amazon SQS ?

Vous pouvez accéder à Amazon SQS avec AWS Management Console, afin de créer des files d'attente Amazon SQS et d'envoyer des messages facilement.

Amazon SQS offre également une API de services web. Enfin, ce service est intégré aux kits SDK AWS, afin de travailler dans le langage de programmation de votre choix.

Q : Quelles sont les opérations disponibles pour les files d'attente de messages ?

Pour en savoir plus sur les opérations pour les files d'attente de messages, consultez la Description détaillée d'Amazon SQS.

Q : Qui peut réaliser des opérations sur une file d'attente de messages ?

Seul le propriétaire d'un compte AWS (ou un compte AWS auquel le propriétaire du compte a délégué des droits) peut effectuer des opérations sur une file d'attente de messages Amazon SQS.

Q : Puis-je utiliser Java Message Service (JMS) avec Amazon SQS ?

Oui. Vous pouvez tirer parti de l'évolutivité, du faible coût et de la haute disponibilité d'Amazon SQS sans vous soucier des frais généraux élevés que vous auriez à payer pour exécuter votre propre cluster JMS.

Amazon fournit la bibliothèque Amazon SQS Java Messaging Library qui implémente la spécification JMS 1.1 et utilise Amazon SQS en tant que fournisseur JMS. Pour plus d'informations, consultez Using JMS with Amazon SQS dans le Guide du développeur Amazon SQS.

Actuellement, les files d'attente FIFO ne sont pas prises en charge par le client JMS.

Q : Comment les messages sont-ils identifiés par Amazon SQS ?

Tous les messages possèdent un ID unique à l'échelle mondiale, que renvoie Amazon SQS lorsque le message est remis à la file d'attente de messages. L'ID n'est pas requis pour effectuer d'autres actions sur le message, mais il est utile pour suivre la réception d'un message particulier dans la file d'attente de messages.

Lorsque vous recevez un message de la file d'attente de messages, la réponse inclut une gestion des reçus que vous devez fournir lors de la suppression du message.

Q : Comment les messages dont le traitement a échoué sont-ils traités par Amazon SQS ?

Dans Amazon SQS, vous pouvez utiliser l'API ou la console pour configurer des files d'attente dead letter queue, c'est-à-dire des files d'attente configurées pour recevoir des messages provenant d'autres files d'attente sources.

Si vous transformez une file d'attente en une file d'attente dead letter queue, elle recevra des messages dont le nombre maximal de tentatives de traitement a été atteint. Vous pouvez utiliser les files d'attente dead letter queue pour isoler les messages qui ne peuvent pas être traités, afin de les analyser ultérieurement.

Pour plus d'informations, consultez la section « Puis-je utiliser une file d'attente dead letter queue avec les files d'attente FIFO ? » sur cette page, et Using Amazon SQS Dead Letter Queues dans le Guide du développeur Amazon SQS.

Q : Qu'est-ce qu'un délai de visibilité (timeout) ?

Le délai de visibilité (timeout) est la période durant laquelle Amazon SQS empêche les autres composants de consommation de recevoir et de traiter un message. Pour plus d'informations, consultez Visibility Timeout dans le Guide du développeur Amazon SQS.

Q : Comment Amazon SQS permet-il à plusieurs lecteurs d'accéder à la même file d'attente de messages, sans perdre de messages ni les traiter plusieurs fois ?

Chaque file d'attente Amazon SQS dispose d'un délai de visibilité (timeout) configurable. Un message n'est pas visible pour les autres lecteurs pendant une durée définie lorsqu'il est lu depuis une file d'attente de messages. Tant que la durée nécessaire au traitement du message est inférieure au délai de visibilité (timeout), chaque message est traité et supprimé.

Si le composant traitant le message est défaillant ou devient indisponible, le message redeviendra visible pour tous les composants lisant la file d'attente de messages, une fois le délai de visibilité (timeout) écoulé. Cela permet à plusieurs composants de lire des messages depuis la même file d'attente de messages, chacun traitant des messages différents.

Q : Quelle est la durée maximale de visibilité des messages ?

Le délai maximal de visibilité (timeout) pour un message Amazon SQS est de 12 heures.

Q : Amazon SQS prend-il en charge les métadonnées des messages ?

Oui. Un message Amazon SQS peut contenir jusqu'à 10 attributs de métadonnées. Vous pouvez utiliser les attributs de message pour séparer le corps d'un message et les métadonnées qui le décrivent. Cela vous aide à traiter et à stocker les informations plus rapidement et plus efficacement, car vos applications n'ont plus besoin d'inspecter le message entier pour comprendre comment le traiter.

Les attributs de message Amazon SQS prennent la forme de combinaisons nom-type-valeur. Parmi les types pris en charge, on trouve les chaînes, les binaires et les nombres (notamment les nombres entiers, les nombres à virgule flottante et les doubles binaires). Pour plus d'informations, consultez Using Amazon SQS Message Attributes dans le Guide du développeur Amazon SQS.

Q : Comment puis-je déterminer la valeur du temps d'attente ?

Pour déterminer la valeur du temps d'attente, vous pouvez demander l'attribut SentTimestamp lorsque vous recevez un message. En soustrayant cette valeur de l'heure actuelle, vous obtenez la valeur du temps d'attente.

Q : Quelle est la latence généralement constatée dans Amazon SQS ?

Les latences auxquelles vous pouvez vous attendre pour les demandes d'API SendMessage, ReceiveMessage et DeleteMessage se comptent en dizaines ou en quelques centaines de millisecondes.

Q : En cas d'accès anonyme, quelle est la valeur de l'attribut SenderId d'un message ?

Lorsque l'ID de compte AWS n'est pas disponible (par exemple, lorsqu'un utilisateur anonyme envoie un message), Amazon SQS fournit l'adresse IP.

Q : En quoi consiste la fonction d'attente active de longue durée ou « long polling » d'Amazon SQS ?

La fonction d'attente active de longue durée d'Amazon SQS est une méthode de scrutation longue, plus connue sous le nom de « long polling », qui permet d'extraire des messages de vos files d'attente Amazon SQS. Tandis que l'interrogation classique de « short polling » (attente active de courte durée) renvoie des résultats immédiatement (même si la file d'attente de messages interrogée est vide), la fonction d'attente active de longue durée ne renvoie aucune réponse tant qu'aucun message n'arrive dans la file d'attente de messages ou que le délai d'attente de longue durée n'est pas arrivé à expiration.

La fonction d'attente active de longue durée est une solution peu coûteuse permettant l'extraction des messages de votre file d'attente Amazon SQS, dès leur mise à disposition. L'utilisation de la fonction d'attente active de longue durée ou « long polling » est susceptible de réduire le coût d'utilisation de SQS, car vous pouvez réduire le nombre de réceptions vides. Pour plus d'informations, consultez Amazon SQS Long Polling dans le Guide du développeur Amazon SQS.

Q : Des frais supplémentaires s'appliquent-ils en cas d'utilisation de la fonction d'attente active de longue durée (« long polling ») d'Amazon SQS ?

Non. Les appels ReceiveMessage d'attente active de longue durée sont facturés de la même manière que les appels ReceiveMessage d'attente active de courte durée.

Q : Dans quels cas utiliser la fonction d'attente active de longue durée (« long polling ») ou celle de courte durée (« short polling ») d'Amazon SQS ?

Dans pratiquement tous les cas, la fonction d'attente active de longue durée d'Amazon SQS est préférable. Les requêtes de longue durée permettent aux clients présents dans votre file d'attente de recevoir des messages dès qu'ils arrivent dans votre file d'attente, tout en réduisant le nombre d'instances ReceiveMessageResponse vides renvoyées.

La fonction d'attente active de longue durée d'Amazon SQS permet donc, dans la plupart des cas d'utilisation, d'obtenir de meilleures performances à moindre coût. Toutefois, si votre application attend une réponse immédiate après un appel ReceiveMessage, il est possible que vous ne puissiez pas tirer profit de la fonction d'attente active de longue durée sans apporter quelques modifications à votre application.

Ainsi, si votre application utilise un seul thread pour interroger plusieurs files d'attente, il est peu probable que vous puissiez passer directement d'une attente active de courte durée (« short polling ») à une de longue durée (« long polling »). En effet, le thread unique attendra l'expiration du délai de l'attente longue pour toutes les éventuelles files d'attente vides, ce qui retardera le traitement des autres files d'attente pouvant contenir des messages.

Pour une telle application, une bonne pratique consiste à utiliser un thread unique pour traiter une seule file d'attente, en permettant à l'application de tirer parti des avantages de la fonction d'attente active de longue durée d'Amazon SQS.

Q : Quel délai d'expiration indiquer pour ma fonction d'attente active de longue durée (« long polling ») ?

En général, vous devriez indiquer un délai d'expiration de 20 secondes maximum pour une fonction d'attente active de longue durée. Plus la valeur du délai d'expiration pour la fonction d'attente active de longue durée est élevée, plus le nombre d'instances ReceiveMessageResponse vides reçues est faible. Essayez donc de définir un délai d'expiration le plus élevé possible.

Si le délai maximum de 20 secondes ne fonctionne pas pour votre application (voir l'exemple dans la question précédente) définissez un délai d'expiration inférieur pour la fonction d'attente active de longue durée (1 seconde minimum).

Tous les kits SDK AWS fonctionnent, par défaut, avec des délais d'attente active de longue durée de 20 secondes. Si vous n'utilisez pas un kit SDK AWS pour accéder à Amazon SQS, ou si vous avez configuré votre kit SDK AWS pour que le délai soit plus court, vous devrez peut-être modifier votre client Amazon SQS pour autoriser les requêtes plus longues ou pour utiliser un délai d'attente active de longue durée plus court.

Q : En quoi consiste le client AmazonSQSBufferedAsyncClient for Java ?

Le client AmazonSQSBufferedAsyncClient for Java implémente l'interface AmazonSQSAsyncClient et ajoute plusieurs fonctionnalités importantes :

  • traitement automatisé par lots des requêtes SendMessage, DeleteMessage ou ChangeMessageVisibility, sans modification nécessaire de l'application ;
  • pré-analyse des messages dans un tampon local qui permet à votre application de traiter automatiquement les messages issus d'Amazon SQS sans attendre que les messages soient récupérés.

Le traitement par lots, associé à la pré-analyse, offre un débit accru et une plus faible latence au niveau de votre application, tout en réduisant vos coûts grâce à un nombre plus restreint de requêtes Amazon SQS. Pour plus d'informations, consultez Client-Side Buffering and Request Batching dans le Guide du développeur Amazon SQS.

Le client Amazon SQS Buffered Asynchronous Client n'est actuellement pas compatible avec les files d'attente FIFO.

Q : Où puis-je télécharger le client AmazonSQSBufferedAsyncClient for Java ?

Vous pouvez télécharger le client AmazonSQSBufferedAsyncClient dans le cadre du Kit AWS SDK pour Java.

Q : Dois-je réécrire mon application pour pouvoir utiliser le client AmazonSQSBufferedAsyncClient for Java ?

Non. Le client AmazonSQSBufferedAsyncClient for Java est implémenté pour remplacer le client AmazonSQSAsyncClient existant.

Si vous mettez à jour votre application afin d'utiliser le dernier kit SDK AWS et modifiez votre client afin d'utiliser le client AmazonSQSBufferedAsyncClient for Java au lieu du client AmazonSQSAsyncClient, votre application bénéficiera des avantages supplémentaires conférés par le traitement automatisé par lots et la pré-analyse.

Q : Comment puis-je m'abonner à des files d'attente de messages Amazon SQS pour recevoir des notifications depuis des rubriques Amazon SNS ?

  1. Dans la console Amazon SQS, sélectionnez une file d'attente standard Amazon SQS.
  2. Sous Actions de la file d'attente, sélectionnez Abonner la file d'attente à une rubrique SNS dans la liste déroulante.
  3. Dans la boîte de dialogue, sélectionnez la rubrique qui vous intéresse dans la liste déroulante Choisir une rubrique, puis cliquez sur le bouton S'abonner.

Pour plus d'informations, consultez Subscribing a Queue to an Amazon SNS Topic dans le Guide du développeur Amazon SQS.

Q : Comment puis-je distribuer des messages identiques à plusieurs files d'attente Amazon SQS ?

  1. Utilisez Amazon SNS pour créer une rubrique.
  2. Créez et abonnez plusieurs files d'attente standard Amazon SQS à la rubrique Amazon SNS.
  3. A chaque fois qu'un message est envoyé à la rubrique Amazon SNS, celui-ci est distribué aux files d'attente de messages Amazon SQS.

Amazon SNS transmet le message à toutes les files d'attente de messages Amazon SQS abonnées à la rubrique.

Q : La livraison de messages au moins une fois vers les files d'attente Amazon SNS est-elle prise en charge par Amazon SNS ?

Amazon SNS est conçu de telle sorte que chaque message est remis au moins une fois aux files d'attente standard Amazon SQS.

Q : Puis-je supprimer tous les messages d'une file d'attente de messages sans supprimer la file d'attente de messages elle-même ?

Oui. Vous pouvez supprimer tous les messages d'une file d'attente de messages Amazon SQS en utilisant l'action PurgeQueue.

Lorsque vous effacez une file d'attente de messages, tous les messages précédemment envoyés vers la file d'attente de messages seront supprimés. Comme votre file d'attente de messages et ses attributs subsistent, il n'est pas nécessaire de reconfigurer la file d'attente de messages ; vous pouvez continuer à l'utiliser.

Pour supprimer uniquement certains messages précis, utilisez les actions DeleteMessage ou DeleteMessageBatch.


Q : Quel est le niveau de fiabilité du stockage de mes données dans Amazon SQS ?

Amazon SQS stocke toutes les files d'attente de messages et tous les messages dans une seule région AWS hautement disponible, comprenant plusieurs zones de disponibilité (AZ) redondantes afin qu'aucune défaillance d'ordinateur, de réseau ou de zone de disponibilité ne puisse empêcher l'accès aux messages. Pour plus d'informations, consultez Régions et zones de disponibilité dans le Guide de l'utilisateur Amazon Relational Database Service.

Q : Comment puis-je sécuriser les messages dans mes files d'attente de messages ?

Des mécanismes d'authentification veillent à ce que les messages stockés dans les files d'attente de messages Amazon SQS soient sécurisés contre tout accès non autorisé. Vous pouvez contrôler qui peut envoyer des messages à une file d'attente de messages et qui peut recevoir des messages depuis une file d'attente de messages. Pour plus de sécurité, vous pouvez développer votre application afin de chiffrer les messages avant qu'ils ne soient placés dans une file d'attente de messages.

Amazon SQS possède son propre système d'autorisations basé sur les ressources, qui utilise des stratégies écrites dans le même langage de programmation que les stratégies d'AWS Identity and Access Management (IAM) : par exemple, vous pouvez utiliser des variables, tout comme dans les stratégies d'IAM. Pour plus d'informations, consultez Amazon SQS Policy Examples dans le Guide du développeur Amazon SQS.

Amazon SQS est compatible avec les protocoles HTTPS (HTTP over SSL) et TLS (Transport Layer Security). La plupart des clients peuvent automatiquement utiliser des versions plus récentes du protocole TLS sans modification du code ni de la configuration. Amazon SQS est compatible avec les versions 1.0, 1.1 et 1.2 du protocole TLS (Transport Layer Security) dans toutes les régions.

Q : Pourquoi y a-t-il des opérations ReceiveMessage et DeleteMessage séparées ?

Quand Amazon SQS vous renvoie un message, ce message reste dans la file d'attente de messages, que vous le receviez ou non. Vous êtes responsable de la suppression du message ; la demande de suppression confirme que vous avez terminé de traiter le message.

Si vous ne supprimez pas le message, le service Amazon SQS le livrera à nouveau lorsqu'une nouvelle demande de réception lui sera adressée. Pour plus d'informations, consultez Visibility Timeout dans le Guide du développeur Amazon SQS.

Q : Un message supprimé peut-il être reçu à nouveau ?

Non. Les files d'attente FIFO ne génèrent jamais de doublons de messages.

Pour une file d'attente standard, et bien que cela arrive rarement, il est possible que vous receviez une seconde fois un message qui a déjà été supprimé. Cela peut avoir lieu dans le rare cas où une opération DeleteMessage ne supprime pas toutes les copies d'un message, par exemple si l'un des serveurs dans le système Amazon SQS distribué n'est pas disponible au moment de la suppression. Cette copie de message est donc susceptible d'être livrée une nouvelle fois par la suite. Si vous utilisez des files d'attente standard, concevez votre application afin qu'elle soit idempotente (c'est-à-dire qu'aucune erreur ni incohérence ne survient si vous recevez une seconde fois un message qui a été supprimé).

Q : Que se passe-t-il si j'émets une demande DeleteMessage sur un message supprimé précédemment ?

Lorsque vous émettez une demande DeleteMessage sur un message supprimé précédemment, Amazon SQS renvoie une réponse de réussite.


Q : Le service Amazon SQS est-il conforme à la norme PCI DSS ?

Oui. Amazon SQS est conforme à la norme PCI DSS de niveau 1. Pour en savoir plus, consultez la page Conformité à la norme PCI.

Q : Le service Amazon SQS est-il conforme à la norme HIPAA ?

Non. Amazon SQS n'est pas encore éligible pour être conforme à la norme HIPAA.

Toutefois, vous pouvez utiliser la bibliothèque Extended Client Library pour envoyer des corps de message Amazon SQS via Amazon S3 (Amazon S3 est un service éligible à la norme HIPAA). Vous pouvez être conforme à la norme HIPAA en utilisant cette méthode, car aucune information personnelle identifiable n'est transférée via Amazon SQS.

Pour plus d'informations, consultez la section Using the Amazon SQS Extended Client Library for Java dans le manuel Amazon SQS Developer Guide


Q : Pendant combien de temps puis-je conserver mes messages dans des files d'attente de messages Amazon SQS ?

Une période de rétention des messages plus longue procure une plus grande flexibilité en vous permettant de disposer d'intervalles plus longs entre la production et la consommation de messages.

Vous pouvez configurer la période de rétention des messages Amazon SQS en choisissant une durée entre 1 minute et 14 jours. La durée par défaut est de 4 jours. Une fois la limite de rétention des messages atteinte, vos messages sont automatiquement supprimés.

Q : Comment configurer Amazon SQS pour prendre en charge une rétention plus longue des messages ?

Pour configurer la durée de rétention des messages, définissez l'attribut MessageRetentionPeriod à l'aide de la console ou de la méthode Distributiveness. Utilisez cet attribut pour spécifier le nombre de secondes durant lesquelles un message sera conservé dans Amazon SQS.

Vous pouvez utiliser l'attribut MessageRetentionPeriod pour configurer la période de rétention des messages de 60 secondes (1 minute) à 1 209 600 secondes (14 jours). Pour en savoir plus sur l'utilisation de cet attribut de message, consultez la page Référence des API d'Amazon SQS.

Q : Comment configurer la taille de message maximale pour Amazon SQS ?

Pour configurer la taille de message maximale, utilisez la console ou la méthode SetQueueAttributes pour configurer l'attribut MaximumMessageSize. Cet attribut définit la limite d'octets pouvant être contenus dans un message Amazon SQS. Choisissez une valeur entre 1 024 octets (1 Ko) et 262 144 octets (256 Ko). Pour plus d'informations, consultez Using Amazon SQS Message Attributes dans le Guide du développeur Amazon SQS.

Pour envoyer des messages de plus de 256 Ko, utilisez la bibliothèque Amazon SQS Extended Client Library for Java. Cette bibliothèque vous permet d'envoyer un message Amazon SQS contenant une référence à un corps de message stocké dans Amazon S3 et dont la taille peut aller jusqu'à 2 Go. Pour les files d'attente FIFO, consultez la section « Les files d'attente Amazon SQS sont-elles compatibles avec le client asynchrone de mise en mémoire tampon Amazon SQS, la bibliothèque Amazon SQS Extended Client Library for Java ou le client de service de messagerie Java (JMS) Amazon SQS ? ».

Q : Quel type de données puis-je inclure dans un message ?

Les messages Amazon SQS peuvent contenir jusqu'à 256 Ko de données sous forme de texte, notamment au format XML, JSON et texte non formaté. Les caractères Unicode suivants sont acceptés :

#x9 | #xA | #xD | [#x20 à #xD7FF] | [#xE000 à #xFFFD] | [#x10000 à #x10FFFF]

Pour en savoir plus, consultez les Spécifications du langage XML 1.0.

Q : Quelle taille peuvent atteindre les files d'attente de messages Amazon SQS ?

Une file d'attente de messages Amazon SQS peut contenir une infinité de messages. Cependant, il existe une limite de 120 000 messages en transit pour une file d'attente standard, et de 20 000 messages en transit pour une file d'attente FIFO. Les messages sont considérés comme étant « en vol » lorsqu'un composant utilisateur les a reçus à partir de la file d'attente, mais qu'ils n'ont pas encore été supprimés de cette dernière.

Q : Combien de files d'attente de messages puis-je créer ?

Vous pouvez créer une infinité de files d'attente de messages.

Q : La taille du nom des files d'attente de messages Amazon SQS est-elle limitée ?

Les noms de files d'attente sont limités à 80 caractères.

Q : Y a-t-il des restrictions concernant le nom des files d'attente de messages Amazon SQS ?

Vous pouvez utiliser des caractères alphanumériques, des tirets (-) et des traits de soulignement (_).

Q : Puis-je réutiliser le nom d'une file d'attente de messages ?

Le nom d'une file d'attente de messages doit être unique au sein d'un compte et d'une région AWS. Vous pouvez réutiliser le nom d'une file d'attente de messages si vous supprimez la file d'attente de messages en question.


Q : Comment partager une file d'attente de messages ?

Vous pouvez associer une déclaration de stratégie d'accès (et spécifier les autorisations accordées) à la file d'attente à partager. Amazon SQS fournit des API pour créer et gérer les déclarations de stratégie d'accès :

  • AddPermission
  • RemovePermission
  • SetQueueAttributes
  • GetQueueAttributes

Pour en savoir plus, consultez la page Référence des API d'Amazon SQS.

Q : Qui paie l'accès aux files d'attente partagées ?

Le propriétaire de la file d'attente de messages paie l'accès à la file d'attente de messages partagée.

Q : Comment puis-je identifier un autre utilisateur AWS avec lequel je souhaite partager une file d'attente de messages ?

L'API Amazon SQS utilise le numéro de compte AWS pour identifier les utilisateurs AWS.

Q : Quelles informations dois-je fournir à un utilisateur AWS avec lequel je souhaite partager une file d'attente de messages ?

Pour partager une file d'attente de messages avec un utilisateur AWS, fournissez-lui l'URL complète de la file d'attente de messages que vous souhaitez partager. Les opérations CreateQueue et ListQueues renvoient cette URL dans leur réponse.

Q : Le service Amazon SQS prend-il en charge l'accès anonyme ?

Oui. Vous pouvez configurer une stratégie d'accès permettant à des utilisateurs anonymes d'accéder à une file d'attente de messages.

Q : Quand dois-je utiliser l'API d'autorisations ?

L'API d'autorisations vous offre une interface pour partager l'accès à une file d'attente de messages avec des développeurs. Toutefois, cette API ne peut pas être utilisée pour accorder un accès conditionnel ou pour prendre en charge des cas d'utilisation plus avancés.

Q : Quand dois-je utiliser l'opération SetQueueAttributes avec des objets JSON ?

L'opération SetQueueAttributes prend en charge le langage de stratégie d'accès total. Par exemple, vous pouvez utiliser le langage de stratégie pour restreindre l'accès à une file d'attente de messages en fonction de l'adresse IP et du moment de la journée. Pour plus d'informations, consultez Amazon SQS Policy Examples dans le Guide du développeur Amazon SQS.


Q : Dans quelles régions le service Amazon SQS est-il disponible ?

Pour connaître la disponibilité du service par région, consultez le tableau des régions de l'infrastructure mondiale d'AWS. Pour le moment, les files d'attente FIFO sont uniquement disponibles dans les régions USA Est (Ohio) et USA Ouest (Oregon).

Q : Puis-je partager des messages entre des files d'attente de messages situées dans différentes régions ?

Non. Chaque file d'attente de messages Amazon SQS est indépendante au sein de chaque région.

Q : Y a-t-il une différence de tarifs entre les régions ?

La tarification d'Amazon SQS est la même pour toutes les régions, sauf la Chine (Pékin). Pour en savoir plus, consultez la page Tarification Amazon SQS.

Q : Quelle est la grille tarifaire pour les transferts entre différentes régions ?

Vous pouvez transférer des données entre Amazon SQS et Amazon EC2 ou AWS Lambda gratuitement au sein de la même région.

Lorsque vous transférez des données entre Amazon SQS et Amazon EC2 ou AWS Lambda dans différentes régions, l'opération vous sera facturée au tarif de transfert de données normal. Pour en savoir plus, consultez la page Tarification Amazon SQS.