Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Métadonnées des messages pour Amazon SQS
Utilisez les attributs des messages pour ajouter des métadonnées personnalisées aux messages Amazon SQS pour vos applications. Utilisez les attributs du système de messagerie pour stocker les métadonnées afin de les intégrer à d'autres Services AWS, telles que AWS X-Ray.
Attributs de message Amazon SQS
Amazon SQS vous permet d'inclure des métadonnées structurées (telles que des horodatages, des données géospatiales, des signatures et des identifiants) dans les messages à l'aide d'attributs de message. Chaque message peut contenir jusqu'à 10 attributs. Les attributs de message sont facultatifs et séparés du corps du message (même s'ils sont envoyés en même temps). Votre consommateur peut utiliser des attributs de message pour traiter un message d'une façon particulière sans avoir à traiter d'abord le corps du message. Pour plus d'informations sur l'envoi de messages avec des attributs à l'aide de la console Amazon SQS, consultez Envoi d'un message avec des attributs à l'aide d'Amazon SQS.
Note
Ne confondez pas les attributs de message avec les attributs de système de messagerie : alors que vous pouvez utiliser les attributs de message pour joindre des métadonnées personnalisées aux messages Amazon SQS pour vos applications, vous pouvez utiliser les attributs du système de messagerie pour stocker des métadonnées pour d'autres AWS services, tels que AWS X-Ray.
Rubriques
Composants des attributs de message
Important
Tous les composants d'un attribut de message sont inclus dans la restriction de taille de message de 1 Mio.
Name, Type, Value et le corps du message ne doivent pas être vides ni contenir la valeur null.
Chaque attribut de message est constitué des composants suivants :
-
Nom : le nom de l'attribut de message peut contenir les caractères suivants :
A-Z,a-z,0-9, trait de soulignement (_), tiret (-) et point (.). Les restrictions suivantes s'appliquent :-
Il peut contenir jusqu'à 256 caractères.
-
Il ne peut pas commencer par
AWS.ouAmazon.(ou toute variante de casse) -
Il est sensible à la casse
-
Il doit être unique parmi tous les noms d'attribut pour le message
-
Il ne doit pas commencer ou se terminer par un point
-
Il ne doit pas comporter plusieurs points à la suite
-
-
Type : type de données de l'attribut de message. Les types pris en charge incluent
String,NumberetBinary. Vous pouvez également ajouter des informations personnalisées pour tout type de données. Le type de données est soumis aux mêmes restrictions que le corps du message (pour plus d'informations, consultezSendMessagedans la Référence d'API Amazon Simple Queue Service). En outre, les restrictions suivantes s'appliquent :-
Il peut contenir jusqu'à 256 caractères.
-
Il est sensible à la casse
-
-
Valeur : valeur d'attribut du message. Pour les données de type
String, les valeurs d'attribut sont soumises aux mêmes restrictions que le corps du message.
Types de données d'attribut de message
Les types de données d'attribut de message indiquent à Amazon SQS comment traiter les valeurs d'attribut de message correspondantes. Par exemple, si le type est Number, Amazon SQS valide les valeurs numériques.
Amazon SQS prend en charge les types de données logiques String, Number et Binary, avec la possibilité d'utiliser des étiquettes de type de données personnalisé au format ..custom-data-type
-
Chaîne : les attributs
Stringpeuvent stocker n'importe quel texte Unicode à l'aide de caractères XML valides. -
Nombre : les attributs
Numberpeuvent stocker des valeurs numériques positives ou négatives. Un nombre peut avoir jusqu'à 38 chiffres de précision et être compris entre 10^-128 et 10^+126.Note
Amazon SQS supprime les zéros de début et de fin.
-
Binaire : les binary attributes peuvent stocker n'importe quelle donnée binaire, telles que des données compressées, des données chiffrées ou des images.
-
Personnalisé : pour créer un type de données personnalisé, ajoutez une étiquette de type personnalisé à n'importe quel type de données. Par exemple :
-
Number.byte,Number.short,Number.intetNumber.floatpeuvent vous aider à faire la distinction entre les types de nombre. -
Binary.gifetBinary.pngpeuvent vous aider à faire la distinction entre les types de fichier.
Note
Amazon SQS n'interprète pas, ne valide pas ou n'utilise pas les données ajoutées.
L'étiquette de type personnalisé est soumise aux mêmes restrictions que le corps du message.
-
Calcul de la valeur de hachage MD5 pour les attributs de message
Si vous utilisez le AWS SDK for Java, vous pouvez ignorer cette section. La classe MessageMD5ChecksumHandler du kit SDK pour Java prend en charge les valeurs de hachage MD5 pour les attributs de message Amazon SQS.
Si vous utilisez l'API Query ou l'un des AWS kits de développement logiciel qui ne prend pas en charge les résumés de messages MD5 pour les attributs de message Amazon SQS, vous devez suivre les instructions suivantes pour effectuer le calcul du résumé de message MD5.
Note
Incluez toujours des suffixes de type de données personnalisés dans le calcul des valeurs de hachage MD5.
Présentation de
Voici une présentation de l'algorithme de calcul de la valeur de hachage MD5 :
-
Triez tous les attributs de message dans l'ordre croissant en fonction de leur nom.
-
Encodez les différentes parties de chaque attribut (
Name,TypeetValue) dans un tampon. -
Calculez le résumé du message du tampon entier.
Le schéma suivant illustre l'encodage du résumé de message MD5 pour un attribut de message unique :
Pour encoder un seul attribut de message Amazon SQS
-
Encodez le nom : la longueur (4 octets) et les UTF-8 octets du nom.
-
Encodez le type de données : la longueur (4 octets) et les UTF-8 octets du type de données.
-
Encodez le type de transport (
StringouBinary) de la valeur (1 octet).Note
Les types de données logiques
StringetNumberutilisent le type de transportString.Le type de données logiques
Binaryutilise le type de transportBinary.-
Pour le type de transport
String, encodez 1. -
Pour le type de transport
Binary, encodez 2.
-
-
Encodez la valeur d'attribut.
-
Pour le type de
Stringtransport, codez la valeur de l'attribut : la longueur (4 octets) et les UTF-8 octets de la valeur. -
Pour un type de transport
Binary, encodez la valeur d'attribut : la longueur (4 octets) et les octets bruts de la valeur.
-
Attributs du système de message Amazon SQS
Vous pouvez utiliser des attributs de message pour attacher des métadonnées personnalisées aux messages Amazon SQS de vos applications, tandis que vous pouvez utiliser des attributs de système de message pour stocker des métadonnées pour d'autres services AWS
, tels que AWS X-Ray. Pour plus d'informations, consultez le paramètre de demande MessageSystemAttribute des actions d'API SendMessage et SendMessageBatch, l'attribut AWSTraceHeader de l'action d'API ReceiveMessage, ainsi que le type de données MessageSystemAttributeValue dans la Référence d'API Amazon Simple Queue Service.
Les attributs de système de message sont structurés exactement comme les attributs de message, avec les exceptions suivantes :
-
Actuellement, le seul attribut de système de message pris en charge est
AWSTraceHeader. Son type doit êtreStringet sa valeur doit être une chaîne d'en-tête de AWS X-Ray trace correctement formatée. -
La taille d'un attribut de système de message ne compte pas dans la taille totale d'un message.