

Avis de fin de support : le 15 septembre 2025, le support pour Amazon Lex V1 AWS sera interrompu. Après le 15 septembre 2025, vous ne pourrez plus accéder à la console Amazon Lex V1 ni aux ressources Amazon Lex V1. Si vous utilisez Amazon Lex V2, consultez plutôt le [guide Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html). 

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.

# Définition des attributs de demandes
<a name="context-mgmt-request-attribs"></a>

Les *attributs de demandes* contiennent des informations spécifiques à la demande et s'appliquent uniquement à la demande en cours. Une application cliente envoie ces informations à Amazon Lex. Utilisez les attributs de demande pour transmettre des informations qui n'ont pas besoin de persister pendant la totalité de la session. Vous pouvez utiliser vos propres attributs de demandes ou des attributs prédéfinis. Pour envoyer des attributs de demandes, utilisez l'en-tête `x-amz-lex-request-attributes` dans [PostContent](API_runtime_PostContent.md) ou le champ `requestAttributes` dans une demande [PostText](API_runtime_PostText.md). Dans la mesure où les attributs de demandes ne sont pas conservés entre toutes les demandes (contrairement aux attributs de session), ils ne sont pas renvoyés dans les réponses `PostContent` ou `PostText`. 

**Note**  
Pour envoyer des informations qui persistent entre les demandes, utilisez des attributs de session.

L'espace de noms `x-amz-lex:` est réservé pour les attributs de demandes prédéfinis. Ne créez pas d'attributs de demandes avec le préfixe `x-amz-lex:`.

## Définition des attributs de demandes prédéfinis
<a name="context-mgmt-special"></a>

Amazon Lex fournit des attributs de demande prédéfinis pour gérer la manière dont il traite les informations envoyées à votre bot. Ces attributs ne sont pas stockés pendant toute la session, vous devez envoyer les attributs prédéfinis dans chaque demande. Tous les attributs prédéfinis sont dans l'espace de noms `x-amz-lex:`.

Outre les attributs prédéfinis suivants, Amazon Lex fournit des attributs prédéfinis pour les plateformes de messagerie. Pour obtenir la liste de ces attributs, consultez [Déploiement d'un robot Amazon Lex sur une plateforme de messagerie](example1.md).

### Définir le type de réponse
<a name="special-response"></a>

Si vous avez deux applications clientes dotées de fonctionnalités différentes, il se peut que vous ayez besoin de limiter le format des messages dans une réponse. Par exemple, vous pouvez limiter les messages envoyés à un client Web au texte brut, mais permettre à un client mobile d'utiliser à la fois du texte brut et du SSML (Speech Synthesis Markup Language). Pour définir le format des messages renvoyés par les opérations [PostContent](API_runtime_PostContent.md) et [PostText](API_runtime_PostText.md), utilisez l'attribut de requête `x-amz-lex:accept-content-types"`. 

Vous pouvez définir l'attribut sur n'importe quelle combinaison des types de messages suivants : 
+ `PlainText`: le message contient du texte UTF-8 brut.
+ `SSML`—Le message contient du texte formaté pour la sortie vocale.
+ `CustomPayload`—Le message contient un format personnalisé que vous avez créé pour votre client. Vous pouvez définir la charge utile pour répondre aux besoins de votre application.

Amazon Lex renvoie uniquement les messages dont le type est spécifié dans le `Message` champ de réponse. Vous pouvez définir plusieurs valeurs en les séparant par une virgule. Si vous utilisez des groupes de messages, chaque groupe de messages doit contenir au moins un message du type spécifié. Dans le cas contraire, vous recevrez une erreur `NoUsableMessageException`. Pour de plus amples informations, veuillez consulter [Groupes de messages](howitworks-manage-prompts.md#message-groups).

**Note**  
L'attribut de requête `x-amz-lex:accept-content-types` n'a aucun effet sur le contenu du corps HTML. Le contenu d'une réponse d'opération `PostText` est toujours en texte UTF-8 brut. Le corps d'une réponse d'opération `PostContent` contient des données au format défini dans l'en-tête `Accept` de la requête.

### Définition du fuseau horaire de votre choix
<a name="special-time-zone"></a>

Pour définir le fuseau horaire qui permet de résoudre les dates en fonction du fuseau horaire de l'utilisateur, utilisez l'attribut de demande `x-amz-lex:time-zone`. Si vous ne spécifiez pas de fuseau horaire dans l'attribut `x-amz-lex:time-zone`, la valeur par défaut dépend de la région que vous utilisez pour votre bot.


| Région | Fuseau horaire par défaut | 
| --- | --- | 
| USA Est (Virginie du Nord) |  America/New\$1York  | 
| USA Ouest (Oregon) |  America/Los\$1Angeles  | 
| Asie-Pacifique (Singapour) |  Asia/Singapore  | 
| Asie-Pacifique (Sydney) |  Australia/Sydney  | 
| Asie-Pacifique (Tokyo) |  Asia/Tokyo  | 
| Europe (Francfort) |  Europe/Berlin  | 
| Europe (Irlande) |  Europe/Dublin  | 
| Europe (Londres) |  Europe/London  | 

Par exemple, si l'utilisateur répond `tomorrow` à la question « Quel jour souhaitez-vous que votre colis soit livré ? » la *date* réelle de livraison du colis dépend du fuseau horaire de l'utilisateur. Par exemple, lorsqu'il est 1 h le 16 septembre à New York, il est 22 h le 15 septembre à Los Angeles. Si votre service fonctionne dans la région de l'est des États-Unis (Virginie du Nord) et qu'une personne de Los Angeles commande un colis à livrer « demain » en utilisant le fuseau horaire par défaut, le colis sera livré le 17 et non le 16. Toutefois, si vous définissez l'attribut de demande `x-amz-lex:time-zone` sur `America/Los_Angeles`, le colis sera livré le 16.

Vous pouvez utiliser n'importe quel nom de fuseau horaire IANA (Internet Assigned Number Authority) pour définir cet attribut. Pour obtenir la liste des noms de fuseaux horaires, consultez la [liste des fuseaux horaires de la tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) sur Wikipédia.

## Définition des attributs de demandes spécifiés par l'utilisateur
<a name="context-mgmt-user"></a>

Un *attribut de demande défini par l'utilisateur* correspond à des données que vous envoyez au bot dans chaque demande. Vous envoyez les informations dans l'en-tête `amz-lex-request-attributes` d'une demande `PostContent` ou dans le champ `requestAttributes` d'une demande `PostText`. 

Pour envoyer des attributs de demande à Amazon Lex, vous devez créer une string-to-string carte des attributs. L'exemple suivant montre comment mapper des attributs de demandes : 

```
{
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Pour l'opération `PostText`, vous insérez le mappage dans le corps de la requête en utilisant le champ `requestAttributes` comme suit :

```
"requestAttributes": {
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Pour l'opération `PostContent`, vous codez le mappage en base64, puis l'envoyez en tant qu'en-tête `x-amz-lex-request-attributes`.

Si vous envoyez des données structurées ou binaires dans un attribut de demande, vous devez tout d'abord convertir les données en chaîne simple. Pour de plus amples informations, veuillez consulter [Définition d'attributs complexes](context-mgmt-complex-attributes.md).