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

Amazon Simple Queue Service (Amazon SQS) propose une file d'attente hébergée, fiable et hautement évolutive pour stocker les messages alors qu'ils se déplacent entre les ordinateurs. Avec Amazon SQS, les développeurs peuvent simplement déplacer des données entre des composants d'application distribués effectuant différentes tâches, sans perdre de messages ou exiger que chaque message soit toujours disponible. Amazon SQS facilite la création d'une application distribuée séparée, fonctionnant en étroite collaboration avec Amazon Elastic Compute Cloud (Amazon EC2) et les autres services web d'infrastructure AWS.

Découvrez gratuitement AWS

Créez un compte gratuit
Vous pouvez également vous connecter à la console

Le niveau gratuit d'AWS inclut 750 heures d'exécution d'un nœud de cache Micro avec Amazon ElastiCache.

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

Q : Que puis-je faire avec Amazon SQS ?

Amazon SQS est un service Web qui vous donne accès à une file d'attente de messages qui peut être utilisée pour stocker des messages en attente de traitement par un ordinateur. Ceci vous permet de développer rapidement des applications de file d'attente de messages, qui peuvent être exécutées sur n'importe quel ordinateur sur Internet. Étant donné qu'Amazon SQS est hautement évolutif et que vous payez uniquement votre utilisation, vous pouvez démarrer modestement et développer votre application comme vous le souhaitez, sans compromettre la performance ou la fiabilité. Ainsi, vous pouvez vous concentrer sur le développement d'applications de messages sophistiquées, sans avoir à vous préoccuper des problèmes de stockage et de gestion des messages. Vous pouvez utiliser Amazon SQS avec des applications logicielles de diverses manières. Par exemple, vous pouvez :

  • Intégrer Amazon SQS avec d'autres services Web d'infrastructure AWS pour rendre les applications plus fiables et plus flexibles.
  • Utilisez Amazon SQS pour créer une file d'attente de travail où chaque message est une tâche qui doit être accomplie par un processus. Un ou plusieurs ordinateurs peuvent lire les tâches depuis la file d'attente et les effectuer.
  • Concevez une architecture de microservices en utilisant les files d'attente pour connecter vos microservices.
  • Conserver les notifications d'évènements importants dans un processus d'entreprise dans une file d'attente Amazon SQS. Chaque évènement peut avoir un message correspondant dans une file d'attente et les applications qui doivent être informées de l'évènement peuvent lire et traiter les messages.

Q : Comment démarrer avec Amazon SQS ?

Vous devez posséder un compte Amazon Web Services pour accéder à ce service.  Après vous être inscrit, consultez AWS Management Console ou référez-vous à la documentation et aux exemples de code Amazon SQS dans le Centre de ressources pour démarrer avec Amazon SQS.

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 ?

Utiliser Amazon SQS procure plusieurs avantages par rapport au développement de votre propre logiciel de gestion des files d'attente de messages ou à l'utilisation d'un système commercial ou open source. Les méthodes alternatives nécessitent beaucoup de temps de développement et de configuration, comparées à l'intégration avec un service Web existant. En outre, ces alternatives nécessitent des ressources en matériel et administration de système pour pouvoir être utilisées. La complexité de la configuration et de la gestion de ces systèmes est aggravée s'ils doivent être configurés pour fournir un stockage redondant des messages, pour ne pas perdre les messages en cas de défaillance du matériel. Au contraire, Amazon SQS ne nécessite pas de frais généraux administratifs et peu de configuration.  De plus, Amazon SQS est un service à grande échelle qui traite des milliards de messages par jour.  Vous pouvez augmenter ou diminuer le trafic que vous envoyez vers SQS sans configurer ni gérer quoi que ce soit.  Enfin, Amazon SQS permet aux messages de bénéficier d'une durabilité extrêmement élevée, ce qui vous donne plus d'assurance, ainsi qu'à vos responsables.

Q : Quand dois-je utiliser Amazon Simple Workflow (SWF) plutôt qu'Amazon SQS ?

Les solutions Amazon SWF et Amazon SQS peuvent toutes deux être utilisées pour développer des applications distribuées séparées.  Amazon SWF offre une infrastructure conçue pour coordonner les tâches lors de la création d'applications évolutives et contrôlables. Amazon SQS offre, en revanche, une file d'attente hébergée fiable et extrêmement évolutive pour stocker des messages. Alors que vous êtes susceptible d'utiliser Amazon SQS pour créer un support de messagerie nécessaire à la mise en œuvre de votre application distribuée, Amazon SWF vous propose cette fonction clé en main ainsi que d'autres capacités au niveau de chaque application. Nous vous recommandons d'étudier Amazon SQS et Amazon SWF pour déterminer quelle solution répond le mieux à vos besoins.

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

Oui. Les développeurs au sein d'Amazon utilisent Amazon SQS pour une grande variété de projets, ce qui représente un grand nombre de messages Amazon SQS chaque jour. Les applications utilisant Amazon SQS incluent les processus d'entreprise clés pour le site marchand Amazon.com et Amazon Web Services.



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

Le niveau gratuit d'Amazon SQS fournit 1 million de demandes par mois gratuitement. De nombreuses applications de petites tailles peuvent fonctionner entièrement dans cette limite d'offre gratuite. Des frais de transfert de données peuvent toujours s'appliquer(reportez-vous à la tarification). Le niveau d'utilisation gratuit est une offre mensuelle. L'utilisation gratuite ne se cumule pas sur plusieurs mois.

Q : Combien coûte Amazon SQS ?

Vous ne payez que ce que vous consommez et il n'y a pas de frais minimum. Vous payez 0,50 USD par tranche d'un million de demandes, plus les frais de transfert pour les données transférées hors d'Amazon SQS. Veuillez consulter la page de tarification SQS pour en savoir plus.

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

Les opérations par lot, y compris SendMessageBatch, DeleteMessageBatch et ChangeMessageVisbilityBatch, coûtent toutes le même prix que les autres requêtes Amazon SQS.  En regroupant les messages par lots, les développeurs peuvent réduire leur coût.

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

Il n'y a pas de frais d'installation pour commencer à utiliser le service. 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 voir vos frais pour la période de facturation actuelle à tout moment sur le site d'Amazon Web Services en vous connectant à votre compte Amazon Web Services et en cliquant sur « Activité du compte » sous « Votre compte de services Web ».

Q : Vos prix sont-ils toutes taxes comprises ?

Sauf indication contraire, nos prix n'incluent pas les taxes et redevances applicables, y compris la TVA et les taxes de vente 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. En savoir plus.


Q : Amazon SQS peut-il être utilisé avec d'autres services AWS ?

Amazon SQS peut être utilisé avec des services de calcul tels qu'Amazon EC2, Amazon EC2 Container Service et AWS Lambda, ainsi qu'avec des services de stockage et de base de données tels qu'Amazon S3 et Amazon DynamoDB, pour rendre les applications plus flexibles et évolutives. 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, les files d'attente Amazon SQS déplacent les messages à traiter de manière ordonnée par l'application de l'utilisateur fonctionnant sur les instances Amazon EC2. Les instances Amazon EC2 peuvent lire la file d'attente, traiter la tâche, puis poster les résultats sous forme de messages vers une autre file d'attente Amazon SQS (peut-être pour un autre traitement 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 vidéo utilise conjointement Amazon EC2, Amazon SQS, Amazon S3 et Amazon DynamoDB. 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. Dans le même temps, les métadonnées de la vidéo (par exemple le format, la date de création et la longueur) peuvent être indexées dans Amazon DynamoDB pour faciliter les requêtes. 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.

Q : Comment interagir avec Amazon SQS ?

Amazon SQS fournit des API simples qui sont conçues pour travailler avec n'importe quelle boîte à outils de développement Internet. Les opérations sont volontairement simplifiées pour fonctionner avec des messages et des files d'attente.

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

Les opérations disponibles sont indiquées sur la page de présentation détaillée.

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

Les opérations peuvent être effectuées uniquement par le propriétaire du compte AWS ou par un compte AWS qui a la délégation du propriétaire.

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

Oui.  Amazon fournit une bibliothèque client qui met en œuvre la spécification JMS 1.1 et utilise Amazon SQS en tant que fournisseur JMS. Vous pouvez compter sur l'évolutivité, le faible coût et la haute disponibilité de SQS, sans vous soucier des frais généraux de fonctionnement de votre propre cluster JMS.

Q : Comment sont identifiés les messages dans le système ?

Tous les messages ont un ID unique à l'échelle mondiale et Amazon SQS renvoie cet ID lorsque le message est livré à la file d'attente. L'ID n'est pas requis pour effectuer d'autres actions sur le message, mais il est utile pour le suivi lorsqu'un message spécifique dans la file d'attente a été reçu. Lorsque vous recevez un message de la file d'attente, la réponse inclut un reçu que vous devez fournir lors de la suppression du message.

Q : Comment les messages dont le traitement a échoué sont-ils gérés ?

Amazon SQS permet de configurer des files d'attente de lettre morte (DLQ). Une DLQ est une file d'attente que vous configurez pour recevoir des messages d'autres files d'attente, dénommées "files d'attente sources". En général, les DLQ sont configurées pour recevoir les messages lorsqu'un nombre maximal de tentatives de traitement a été atteint. Les DLQ permettent d'isoler les messages qui n'ont pas pu être traités afin qu'ils puissent être analysés ultérieurement.

Une DLQ est comme toute autre file d'attente Les messages peuvent être envoyés à la DLQ et reçus de celle-ci comme toute autre file d'attente Vous pouvez créer une DLQ à l'aide de l'API SQS ou de la console SQS.

Des informations supplémentaires sur la création et l'utilisation des DQL sont disponibles dans le manuel SQS Developer Guide.

 

Q : Amazon SQS fournit-il un accès aux messages de type "premier entré, premier sorti" (FIFO) ?

Amazon SQS met tout en œuvre pour conserver l'ordre des messages, mais en raison de la nature distribuée de la file d'attente, nous ne pouvons garantir que vous recevrez les messages dans l'ordre exact où vous les avez envoyés (FIFO). Si votre système nécessite que cet ordre soit conservé, nous vous recommandons de placer des informations de séquencement dans chaque message pour pouvoir réorganiser les messages lors de leur réception.

 

Q : Le service Amazon SQS respecte-t-il le protocole de distribution de messages "at least once" ?

Oui. Amazon SQS stocke des copies de vos messages sur plusieurs serveurs pour assurer la redondance et offrir une haute disponibilité. A de rares occasions, l'un des serveurs stockant la copie d'un message peut être indisponible lors de la réception ou suppression du message. Dans ce cas, la copie du message n'est pas supprimée sur le serveur indisponible, et il est possible que le message soit à nouveau copié lorsque vous recevez des messages. C'est ce que l'on appelle le protocole de distribution "at least once".  C'est pour cela que vous devez concevoir une application idempotente (c'est-à-dire qu'elle ne doit pas être perturbée si elle traite le même message plusieurs fois).

 

Q : Quelle est la limite maximale pour la visibilité des messages ?

Amazon SQS prend en charge jusqu'à 12 heures maximum de délai de visibilité.

Q : SQS prend-t-il en charge les métadonnées de message ?

Oui. Amazon SQS vous permet d'envoyer jusqu'10 attributs par message. Avec les attributs de message, vous pouvez séparer le corps d'un message des métadonnées qui le décrivent. Vous pouvez ainsi traiter et stocker les informations plus rapidement et de façon plus avisée, car vos applications n'ont plus besoin d'inspecter l'intégralité du message pour comprendre les étapes de traitement nécessaires.

Les attributs de message SQS prennent la forme de combinaisons nom-type-valeur. Les types pris en charge sont les suivants : chaîne, données binaires et nombre (entiers, à virgule flottante et doubles).

Pour en savoir plus, reportez-vous à la documentation SQS.

Q : Comment un développeur peut-il déterminer son « temps en file d'attente » ?

Les développeurs peuvent demander un attribut « SentTimestamp » lorsqu'ils reçoivent un message. Soustraire cette valeur de l'heure actuelle permet d'obtenir une valeur de « temps en file d'attente ».

Q : A quelle latence puis-je typiquement m'attendre pour 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 : Quelle est la valeur de l'attribut « SenderId » dans le cas d'un accès anonyme ?

Amazon SQS fournit l'adresse IP lorsque l'ID de compte AWS n'est pas disponible, comme lorsqu'un utilisateur anonyme envoie un message.

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

La fonction SQS d'attente active de longue durée 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 SQS. Tandis que l'interrogation SQS classique de « short polling » (attente active courte) renvoie des résultats immédiatement (même si la file d'attente interrogée est vide), la fonction SQS d'attente active de longue durée ne renvoie aucune réponse tant qu'aucun message n'arrive dans la file d'attente ou que le délai d'attente de longue durée n'est pas arrivé à expiration. La fonction SQS d'attente active de longue durée est une solution simple et peu coûteuse permettant l'extraction des messages de votre file d'attente SQS, dès leur mise à disposition.  L'utilisation de la fonction d'attente active de longue durée ou "long polling" peut réduire le coût d'utilisation de SQS, comme vous pouvez réduire le nombre de réceptions vides.

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

Non, les appels d'API ReceiveMessage pour l'attente active de longue durée (« long polling ») sont facturés exactement de la même manière que ceux de courte durée (« short polling »).

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

Dans pratiquement tous les cas, la fonction SQS d'attente active de longue durée est préférable. Les requêtes d'attente active de longue durée permettent aux consommateurs des messages en attente de recevoir ceux-ci dès leur arrivée dans la file, tout en réduisant le nombre de résultats ReceiveMessageResponses vides. La fonction SQS d'attente active de longue durée permet donc, dans la plupart des cas, d'obtenir de meilleures performances à moindre coût. Toutefois, si votre application a été écrite de manière à obtenir 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 dispose d'un seul thread scrutant 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 vides, ce qui retardera le traitement des autres files pouvant contenir des messages. Dans une application de ce type, il est recommandé d'utiliser un seul thread par file, ce qui permet à l'application d'exploiter les avantages offerts par la fonction SQS d'attente active de longue durée.

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

Il est généralement recommandé de définir un délai maximal de 20 secondes avant l'expiration de l'attente active de longue durée. Plus le délai d'expiration sera long, moins vous aurez de résultats ReceiveMessageResponses vides ; essayez donc de définir un délai d'expiration aussi long que possible pour la fonction d'attente active de longue durée. Si le délai maximal de 20 secondes n'est pas adapté à votre application (voir l'exemple donné à la question précédente), vous pouvez décider de le raccourcir, jusqu'à 1 seconde seulement. Tous les kits SDK (Software Development Kit) AWS fonctionnent, par défaut, avec des délais d'attente de longue durée de 20 secondes. Si vous n'utilisez pas de kit SDK AWS pour accéder à SQS, ou si vous avez spécialement configuré votre kit SDK AWS avec un délai plus court, vous devrez peut-être modifier votre client SQS pour permettre des requêtes plus longues ou utiliser un délai d'expiration plus court pour votre fonction d'attente de longue durée.

Q : Qu'est-ce que le client AmazonSQSBufferedAsync ?

Le client AmazonSQSBufferedAsync fournit une implémentation pour l'interface du client AmazonSQSAsync et intègre de nombreuses fonctionnalités supplémentaires. Tout d'abord, le client AmazonSQSBufferedAsync prend en charge le traitement automatisé de plusieurs requêtes SendMessage, DeleteMessage ou ChangeMessageVisibility par lots de chaque type, sans qu'aucune modification de l'application ne soit nécessaire. De plus, le client AmazonSQSBufferedAsync effectue une pré-analyse des messages dans un tampon en local, ce qui permet à votre application de traiter immédiatement les messages issus de SQS sans avoir à attendre qu'ils en soient extraits. Le traitement automatisé par lots, associé à la pré-analyse, offre un débit accru et une plus faible latence au niveau de l'application, tout en vous permettant d'économiser de l'argent grâce à un nombre plus restreint de requêtes SQS.

Q : Comment télécharger le client AmazonSQSBufferedAsync ?

Vous pouvez télécharger le client AmazonSQSBufferedAsync dans le cadre du kit AWS SDK pour Java, lequel est disponible depuis la page http://aws.amazon.com/sdkforjava/.

Q : Quels sont les langages pris en charge par le client AmazonSQSBufferedAsync ?

A l'heure actuelle, le client AmazonSQSBufferedAsync est uniquement compatible avec le langage Java.

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

Non, le client AmazonSQSBufferedAsync est implémenté en remplacement instantané du client AmazonSQSAsync existant. Vous pouvez mettre à jour votre application afin d'utiliser le dernier kit SDK AWS et modifier votre construction afin d'utiliser le client AmazonSQSBufferedAsync au lieu du client AmazonSQSAsync : votre application pourra ainsi bénéficier des avantages supplémentaires conférés par le traitement automatisé par lots et la pré-analyse.

Q : Comment puis-je m'abonner aux files d'attente SQS afin de recevoir des notifications par rapport aux sujets SNS ?

Sélectionnez la file d'attente SQS souhaitée dans la console SQS et, à partir de l'option « Queue Actions » dans la barre de menus, sélectionnez « Subscribe Queue to SNS Topic » dans la liste déroulante. Dans la boîte de dialogue d'abonnement, sélectionnez le sujet qui vous intéresse dans la liste déroulante « Choose a Topic », puis cliquez sur le bouton « Subscribe ». Pour obtenir une procédure pas-à-pas, consultez la documentation Amazon SQS.

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

Créez d'abord un sujet SNS en utilisant SNS. Créez ensuite plusieurs files d'attente SQS et abonnez-les au sujet SNS. A présent, dès lors qu'un message est envoyé sur le sujet SNS, ce message est distribué aux différentes files d'attente SQS, c'est-à-dire que SNS transmet le message à toutes les files SQS qui sont abonnées au sujet.

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

Oui, vous pouvez supprimer tous les messages d'une file d'attente SQS en utilisant l'action PurgeQueue. Lorsque vous effacez une file d'attente, tous les messages précédemment envoyés vers la file d'attente seront supprimés. Étant donné que votre file d'attente et ses attributs sont conservés, il n'est pas nécessaire de reconfigurer la file d'attente pour continuer à l'utiliser. Si vous avez seulement besoin de supprimer des messages spécifiques, vous pouvez utiliser les actions DeleteMessage ou DeleteMessageBatch.


Q : Quelle est la fiabilité du stockage de mes données dans Amazon SQS ?

Amazon SQS stocke toutes les informations de file d'attente et de message dans le réseau Amazon de centres de données hautement fiables et disponibles. Tous les messages sont stockés de manière redondante sur plusieurs serveurs et dans plusieurs centres de données, ce qui signifie qu'aucune défaillance d'ordinateur ou de réseau ne peut empêcher l'accès aux messages SQS.

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

Des mécanismes d'authentification sont fournis pour veiller à ce que les messages stockés dans 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 et qui peut recevoir des messages depuis une file d'attente.

Amazon SQS possède son propre système d'autorisations basées sur les ressources qui utilise des politiques écrites dans le même langage que celui utilisé pour les politiques AWS Identity and Access Management (IAM). Vous pouvez donc obtenir les mêmes résultats avec les politiques Amazon SQS qu'avec les politiques IAM, par exemple, l'utilisation de variables dans les politiques IAM. Pour en savoir plus sur l'utilisation du système, consultez le Guide du développeur Amazon SQS.

Pour plus de sécurité, vous pouvez développer votre application afin d'encrypter les messages avant qu'ils ne soient placés dans une file d'attente.

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

Chaque file d'attente Amazon SQS dispose d'une durée de visibilité configurable. Pendant la quantité de temps définie après qu'un message ait été lu depuis une file d'attente, il ne sera plus visible à tout autre lecteur. Tant que la quantité de temps nécessaire au traitement du message est inférieure à la durée de visibilité, chaque message sera traité et supprimé. Dans le cas où le composant traitant le message est défaillant ou devient indisponible, le message redeviendra visible à tout composant lisant la file d'attente, après la fin de la durée de visibilité. Ceci vous permet d'avoir de nombreux composants lisant tous les messages depuis la même file d'attente ; et chacun d'entre eux fonctionne pour traiter différents messages.

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, que vous le receviez ou non. Vous êtes responsable de supprimer le message ; la demande de suppression reconnaît que vous avez terminé de traiter le message. Si vous ne supprimez pas le message, Amazon SQS le livrera à nouveau lors d'une autre demande de réception.  Pour en savoir plus, consultez la section "Délai de visibilité (timeout)" du Guide du développeur Amazon SQS.

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

Oui, dans certaines circonstances rares, vous pourriez à nouveau recevoir un message supprimé précédemment. Ceci peut avoir lieu dans le rare cas où une opération DeleteMessage ne supprime pas toutes les copies d'un message, parce que l'un des serveurs dans le système Amazon SQS distribué n'est pas disponible au moment de la suppression. Cette copie de message peut ensuite être à nouveau livrée. Vous devez concevoir votre application afin qu'il n'y ait pas d'erreurs ou d'incohérences si vous recevez un message supprimé à nouveau.

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

SQS renvoie une réponse indiquant la réussite de l'opération.


Q : Amazon SQS est-il certifié conforme à la norme PCI DSS ?

Amazon SQS est certifié conforme à la norme PCI DSS de niveau 1. Consultez la page http://aws.amazon.com/compliance/pci-dss-level-1-faqs pour en savoir plus.

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

Amazon SQS n'est pas certifié conforme à la norme HIPAA. Cependant, vous pouvez utiliser Extended Client Library pour envoyer des corps de message SQS via S3.  S3 est conforme à la norme HIPAA.  Vous pouvez obtenir la certification HIPAA de cette manière, aucune donnée personnelle n'étant transférée via SQS.


Q : Combien de temps puis-je conserver mes messages dans les files d'attente Amazon SQS ?

La période de rétention de messages SQS est configurable et peut être définie sur n'importe quelle durée allant d'une minute à 2 semaines. La période par défaut est 4 jours et une fois la limite atteinte, vos messages seront supprimés automatiquement. L'option de rétention de message plus longue procure une plus grande flexibilité permettant de disposer d'intervalles plus longs entre la production et la consommation de messages.

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

Pour configurer la durée de conservation des messages, définissez l'attribut MessageRetentionPeriod à l'aide de la console de gestion ou de la méthode SetQueueAttributes. Cet attribut est utilisé pour spécifier le nombre de secondes pendant lesquelles un message sera retenu par SQS. Actuellement, la valeur par défaut du temps de rétention de message est 4 jours. En utilisant l'attribut MessageRetentionPeriod, le temps de rétention de messages peut être défini sur n'importe quelle durée allant de 60 secondes (1 minute) jusqu'à 1 209 600 secondes (14 jours). Consultez le manuel Amazon SQS API Reference pour en savoir plus sur le fonctionnement de cet attribut de message.

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

Pour configurer la taille de message maximale, définissez l'attribut MaximumMessageSize à l'aide de la console de gestion ou de la méthode SetQueueAttributes. Cet attribut spécifie la limite d'octets pouvant être contenus dans un message SQS. Il peut être défini sur n'importe quelle valeur allant de 1 024 octets (1 Ko) jusqu'à 262 144 octets (256 Ko). Consultez le manuel Amazon SQS API Reference pour en savoir plus sur le fonctionnement de cet attribut de message.

Pour envoyer des messages de plus de 256 Ko, vous pouvez utiliser Amazon SQS Extended Client Library for Java.  Cette bibliothèque vous permet d'envoyer un message dans SQS qui contient une référence à un corps de message dans Amazon S3.  La taille du corps de message dans S3 peut atteindre 2 Go.

Q : Quel type de données peut être contenu dans un message ?

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

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

(conformément à http://www.w3.org/TR/REC-xml/#charsets).

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

Une seule file d'attente peut contenir un nombre illimité de messages et vous pouvez créer autant de files d'attente que vous le souhaitez.

Q : Y a-t-il des restrictions sur les noms des files d'attente Amazon SQS ? Y a-t-il une limite de taille pour le nom des files d'attente Amazon SQS ? Un nom de file d'attente peut-il être réutilisé ?

Les noms de files d'attente sont limités à 80 caractères. Les caractères alphanumériques, les traits d'union (-) et les traits de soulignement (_) sont autorisés. Les noms de file d'attente doivent être uniques dans un compte et une région AWS. Après avoir supprimé une file d'attente, vous pouvez réutiliser son nom.

Q : Que se passe-t-il s'il n'y a pas d'activité sur une file d'attente pendant une période de temps prolongée ?

Nous nous réservons le droit de supprimer une file d'attente si aucune des demandes suivantes n'a été délivrée sur la file d'attente depuis plus de 30 jours consécutifs : SendMessage, ReceiveMessage, DeleteMessage, GetQueueAttributes et SetQueueAttributes. Vous devez prendre ceci en compte lorsque vous concevez votre application. Veuillez noter que les files d'attente utilisées comme files d'attente de lettre morte ne seront pas supprimées tant qu'une de leurs files d'attente sources existe.


Q : Comment partager une file d'attente ?

Un développeur associe une déclaration de politique d'accès (spécifiant les permissions accordées) avec la file d'attente à partager. Amazon SQS fournit des API pour créer et gérer les déclarations de politique d'accès : AddPermission, RemovePermission, SetQueueAttributes et GetQueueAttributes. Consultez les dernières spécifications de l'API pour plus de détails.

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

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

Q : Comment identifier un autre utilisateur AWS ?

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

Q : Que dois-je fournir aux autres utilisateurs pour partager une file d'attente avec eux ?

Vous devrez fournir l'URL complète de la file d'attente à 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, un développeur peut définir une politique d'accès qui permet aux utilisateurs anonymes d'accéder à une file d'attente.

Q : Quand dois-je utiliser l'API de permissions ?

L'API de permissions fournit aux développeurs une interface simple qui leur permet de partager l'accès à une file d'attente, mais pas d'autoriser un accès conditionnel ou de prendre en charge des cas d'utilisation plus poussés.

Q : Quand dois-je utiliser SetQueueAttributes avec des objets JSON ?

L'opération SetQueueAttributes prend en charge le langage de stratégie d'accès total. En utilisant le langage de stratégie, l'accès à une file d'attente peut être restreint, par exemple par adresse IP et heure du jour. Référez vous à la documentation de politique d'accès dans le dernier Guide du développeur pour plus de détails.


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

Consultez le tableau des régions de l'infrastructure mondiale AWS.

Q : Les messages peuvent-ils être partagés entres les files d'attente dans différentes régions ?

Non, Amazon SQS est totalement indépendant au niveau des banques de messages et noms de file d'attente dans 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 l'Asie-Pacifique (Tokyo). Consultez la tarification pour en savoir plus.

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

Le transfert de données entre Amazon SQS et Amazon EC2 à l'intérieur d'une seule région est gratuit. Les données transférées entre Amazon SQS et Amazon EC2 dans différentes régions seront facturées au tarif de transfert de données normal.