

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.

# Aides utilitaires dans \$1util
<a name="utility-helpers-in-util"></a>

**Note**  
Nous prenons désormais principalement en charge le runtime APPSYNC\$1JS et sa documentation. [Pensez à utiliser le runtime APPSYNC\$1JS et ses guides ici.](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)

La `$util` variable contient des méthodes utilitaires générales pour vous aider à travailler avec les données. Sauf indication contraire, tous les utilitaires emploient le jeu de caractères UTF-8.

## Utilitaires d'analyse JSON
<a name="utility-helpers-in-json-parsing"></a>

### Liste des utilitaires d'analyse JSON
<a name="utility-helpers-in-json-parsing-list"></a>

** **`$util.parseJson(String) : Object`** **  
Prend la chaîne JSON (obtenue à l’aide de stringify) et renvoie une représentation objet du résultat.

** **`$util.toJson(Object) : String`** **  
Accepte un objet et retourne une représentation JSON de cet objet obtenue à l'aide de stringify.

## Utilitaires d'encodage
<a name="utility-helpers-in-encoding"></a>

### Liste des utilitaires d'encodage
<a name="utility-helpers-in-encoding-list"></a>

** **`$util.urlEncode(String) : String`** **  
Renvoie la chaîne en entrée sous la forme d'une chaîne codée `application/x-www-form-urlencoded`.

** **`$util.urlDecode(String) : String`** **  
Décode une chaîne codée `application/x-www-form-urlencoded` sous sa forme initiale non codée.

** **`$util.base64Encode( byte[] ) : String`** **  
Code les données d'entrée en une chaîne codée en base64.

** **`$util.base64Decode(String) : byte[]`** **  
Décode les données d’une chaîne encodée en base64.

## Utilitaires de génération d'identifiants
<a name="utility-helpers-in-id-gen"></a>

### Liste des utilitaires de génération d'identifiants
<a name="utility-helpers-in-id-gen-list"></a>

** **`$util.autoId() : String`** **  
Renvoie un UUID 128 bits généré de façon aléatoire.

****`$util.autoUlid() : String`****  
Renvoie un ULID (identifiant lexicographiquement sortable universel unique) de 128 bits généré aléatoirement.

****`$util.autoKsuid() : String`****  
Renvoie un KSUID (K-Sortable Unique Identifier) de 128 bits généré aléatoirement en base62 et codé sous forme de chaîne d'une longueur de 27.

## Utils d'erreur
<a name="utility-helpers-in-error"></a>

### Liste des utilitaires d'erreur
<a name="utility-helpers-in-error-list"></a>

** `$util.error(String)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel.

** `$util.error(String, String)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel. Vous pouvez également spécifier un`errorType`.

** `$util.error(String, String, Object)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel. Vous pouvez également spécifier un `errorType` et un `data` champ. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.  
`data`sera filtré en fonction de l'ensemble de sélection de requêtes.

** `$util.error(String, String, Object, Object)` **  
Lève une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, un `errorType` champ, un `data` champ et un `errorInfo` champ peuvent être spécifiés. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.   
`data`sera filtré en fonction de l'ensemble de sélection de requêtes. La valeur `errorInfo` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.  
`errorInfo`**ne sera PAS** filtré en fonction de l'ensemble de sélection de requêtes.

** `$util.appendError(String)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. Contrairement à `$util.error(String)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant.

** `$util.appendError(String, String)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, il est possible de spécifier un champ `errorType`. Contrairement à `$util.error(String, String)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant.

** `$util.appendError(String, String, Object)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. Il est également possible de spécifier un champ `errorType` et un champ `data`. Contrairement à `$util.error(String, String, Object)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.   
`data`sera filtré en fonction de l'ensemble de sélection de requêtes.

** `$util.appendError(String, String, Object, Object)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, un `errorType` champ, un `data` champ et un `errorInfo` champ peuvent être spécifiés. Contrairement à `$util.error(String, String, Object, Object)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.  
`data`sera filtré en fonction de l'ensemble de sélection de requêtes. La valeur `errorInfo` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL.  
`errorInfo`**ne sera PAS** filtré en fonction de l'ensemble de sélection de requêtes.

## Utilitaires de validation des conditions
<a name="utility-helpers-in-condition"></a>

### Liste des utilitaires de validation des conditions
<a name="utility-helpers-in-condition-list"></a>

** `$util.validate(Boolean, String) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message spécifié.

** `$util.validate(Boolean, String, String) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message et le type d'erreur spécifiés.

** `$util.validate(Boolean, String, String, Object) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message et le type d'erreur spécifiés, ainsi que les données à renvoyer dans la réponse.

## Utilitaires de comportement nuls
<a name="utility-helpers-in-null-behavior"></a>

### Liste d'utilitaires de comportement nulle
<a name="utility-helpers-in-null-behavior-list"></a>

** `$util.isNull(Object) : Boolean` **  
Renvoie la valeur true si l'objet fourni a la valeur null.

** `$util.isNullOrEmpty(String) : Boolean` **  
Renvoie la valeur true si les données fournies ont une valeur null ou une chaîne vide. Sinon, la valeur renvoyée est false.

** `$util.isNullOrBlank(String) : Boolean` **  
Renvoie la valeur true si les données fournies ont une valeur null ou une chaîne vide. Sinon, la valeur renvoyée est false.

** `$util.defaultIfNull(Object, Object) : Object` **  
Renvoie le premier objet si la valeur n'est pas null. Sinon, renvoie le deuxième objet en tant qu'« objet par défaut ».

** `$util.defaultIfNullOrEmpty(String, String) : String` **  
Renvoie la première chaîne si la valeur n'est pas null ou vide. Sinon, renvoie la deuxième chaîne en tant que « chaîne (string) par défaut ».

** `$util.defaultIfNullOrBlank(String, String) : String` **  
Renvoie la première chaîne si la valeur n'est pas null ou vide. Sinon, renvoie la deuxième chaîne en tant que « chaîne (string) par défaut ».

## Utilitaires de correspondance de modèles
<a name="utility-helpers-in-pattern-matching"></a>

### Liste d'utilitaires correspondant au type et au modèle
<a name="utility-helpers-in-type-pattern-matching-list"></a>

** `$util.typeOf(Object) : String` **  
Renvoie une chaîne décrivant le type de l'objet. Identifications de type prises en charge : « Null », « Number », « String », « Map », « List », « Boolean ». Si un type ne peut pas être identifié, le type de retour est « Object ».

** `$util.matches(String, String) : Boolean` **  
Renvoie la valeur true si le modèle spécifié dans le premier argument correspond aux données fournies dans le deuxième argument. Le modèle doit être une expression régulière, telle que `$util.matches("a*b", "aaaaab")`. La fonctionnalité est basée sur [Pattern](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html), que vous pouvez référencer à titre de documentation ultérieure.

** `$util.authType() : String` **  
Renvoie une chaîne décrivant le type d'authentification multiple utilisé par une demande, renvoyant soit « IAM Authorization », « User Pool Authorization », « Open ID Connect Authorization », soit « API Key Authorization ».

## Utilitaires de validation d'objets
<a name="utility-helpers-in-object-validation"></a>

### Liste des utilitaires de validation d'objets
<a name="utility-helpers-in-object-validation-list"></a>

** `$util.isString(Object) : Boolean` **  
Renvoie vrai si l'objet est une chaîne.

** `$util.isNumber(Object) : Boolean` **  
Renvoie vrai si l'objet est un nombre.

** `$util.isBoolean(Object) : Boolean` **  
Renvoie vrai si l'objet est un booléen.

** `$util.isList(Object) : Boolean` **  
Renvoie vrai si l'objet est une liste.

** `$util.isMap(Object) : Boolean` **  
Renvoie vrai si l'objet est une carte.

## CloudWatch utilitaires de journalisation
<a name="utility-helpers-in-logging"></a>

### CloudWatch liste des utilitaires de journalisation
<a name="utility-helpers-in-cloudwatch-logs"></a>

**`$util.log.info(Object) : Void`**  
Enregistre la représentation sous forme de chaîne de l'objet fourni dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau de la demande et au niveau du champ est activée avec le niveau du journal `ALL``INFO`, ou `DEBUG` sur une API.

**`$util.log.info(String, Object...) : Void`**  
Enregistre la représentation sous forme de chaîne des objets fournis dans le flux de journal demandé lorsque la journalisation au niveau de la demande et au niveau du champ est activée avec le niveau de CloudWatch journalisation sur une API. `ALL` Cet utilitaire remplacera toutes les variables indiquées par « \$1\$1 » dans le premier format d'entrée String par la représentation sous forme de chaîne des objets fournis dans l'ordre.

**`$util.log.debug(Object) : Void`**  
Enregistre la représentation sous forme de chaîne de l'objet fourni dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau de la demande et au niveau du champ est activée au niveau du journal `ALL` ou `DEBUG` sur une API.

**`$util.log.debug(String, Object...) : Void`**  
Enregistre la représentation sous forme de chaîne des objets fournis dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau du champ est activée avec le niveau du journal `DEBUG` ou le niveau du journal `ALL` sur une API. Cet utilitaire remplacera toutes les variables indiquées par « \$1\$1 » dans le premier format d'entrée String par la représentation sous forme de chaîne des objets fournis dans l'ordre.

**`$util.log.error(Object) : Void`**  
Enregistre la représentation sous forme de chaîne de l'objet fourni dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau du champ est activée avec **n'importe quel** niveau de journal (`ALL``INFO`,`DEBUG`,, etc.) sur une API.

**`$util.log.error(String, Object...) : Void`**  
Enregistre la représentation sous forme de chaîne des objets fournis dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau du champ est activée avec le niveau du journal `ERROR` ou le niveau du journal `ALL` sur une API. Cet utilitaire remplacera toutes les variables indiquées par « \$1\$1 » dans le premier format d'entrée String par la représentation sous forme de chaîne des objets fournis dans l'ordre.

## Utilitaires de comportement des valeurs renvoyées
<a name="utility-helpers-in-return-behavior"></a>

### Liste des utilitaires relatifs au comportement des valeurs renvoyées
<a name="utility-helpers-in-behavior-list"></a>

****`$util.qr()`** et `$util.quiet()` **  
Exécute une instruction VTL tout en supprimant la valeur renvoyée. Cela est utile pour exécuter des méthodes sans utiliser d'espaces réservés temporaires, tels que l'ajout d'éléments à une carte. Par exemple :  

```
#set ($myMap = {})
#set($discard = $myMap.put("id", "first value"))
```
Devient :  

```
#set ($myMap = {})
$util.qr($myMap.put("id", "first value"))
```  
** `$util.escapeJavaScript(String) : String` **  
Renvoie la chaîne d'entrée sous forme de chaîne JavaScript échappée.  
** `$util.urlEncode(String) : String` **  
Renvoie la chaîne en entrée sous la forme d'une chaîne codée `application/x-www-form-urlencoded`.  
** `$util.urlDecode(String) : String` **  
Décode une chaîne codée `application/x-www-form-urlencoded` sous sa forme initiale non codée.  
** `$util.base64Encode( byte[] ) : String` **  
Code les données d'entrée en une chaîne codée en base64.  
** `$util.base64Decode(String) : byte[]` **  
Décode les données d’une chaîne encodée en base64.  
** `$util.parseJson(String) : Object` **  
Prend la chaîne JSON (obtenue à l’aide de stringify) et renvoie une représentation objet du résultat.  
** `$util.toJson(Object) : String` **  
Accepte un objet et retourne une représentation JSON de cet objet obtenue à l'aide de stringify.  
** `$util.autoId() : String` **  
Renvoie un UUID 128 bits généré de façon aléatoire.  
****`$util.autoUlid() : String`****  
Renvoie un ULID (identifiant lexicographiquement sortable universel unique) de 128 bits généré aléatoirement.  
****`$util.autoKsuid() : String`****  
Renvoie un KSUID (K-Sortable Unique Identifier) de 128 bits généré aléatoirement en base62 et codé sous forme de chaîne d'une longueur de 27.  
** `$util.unauthorized()` **  
Lève `Unauthorized` pour le champ en cours de résolution. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour déterminer s'il convient d'autoriser l'appelant à résoudre le champ.  
** `$util.error(String)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel.  
** `$util.error(String, String)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel. Vous pouvez également spécifier un`errorType`.  
** `$util.error(String, String, Object)` **  
Lève une erreur personnalisée. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour détecter une erreur dans la demande ou dans le résultat de l'appel. Vous pouvez également spécifier un `errorType` et un `data` champ. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `data` est filtré en fonction du jeu de sélection de la requête.  
** `$util.error(String, String, Object, Object)` **  
Lève une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, il est possible de spécifier un champ `errorType`, un champ `data` et un champ `errorInfo`. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `data` est filtré en fonction du jeu de sélection de la requête. La valeur `errorInfo` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `errorInfo` **N'EST PAS** filtré en fonction du jeu de sélection de la requête.  
** `$util.appendError(String)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. Contrairement à `$util.error(String)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant.  
** `$util.appendError(String, String)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, il est possible de spécifier un champ `errorType`. Contrairement à `$util.error(String, String)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant.  
** `$util.appendError(String, String, Object)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. Il est également possible de spécifier un champ `errorType` et un champ `data`. Contrairement à `$util.error(String, String, Object)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `data` est filtré en fonction du jeu de sélection de la requête.  
** `$util.appendError(String, String, Object, Object)` **  
Ajoute une erreur personnalisée. Peut être utilisé dans les modèles de mappage de demande ou de réponse si le modèle détecte une erreur associée à la demande ou au résultat de l'appel. En outre, il est possible de spécifier un champ `errorType`, un champ `data` et un champ `errorInfo`. Contrairement à `$util.error(String, String, Object, Object)`, l'évaluation du modèle n'est pas interrompue et, par conséquent, les données peuvent être retournées à l'appelant. La valeur `data` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `data` est filtré en fonction du jeu de sélection de la requête. La valeur `errorInfo` sera ajoutée au bloc `error` correspondant à l'intérieur d'`errors` dans la réponse GraphQL. **Remarque** : `errorInfo` **N'EST PAS** filtré en fonction du jeu de sélection de la requête.  
** `$util.validate(Boolean, String) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message spécifié.  
** `$util.validate(Boolean, String, String) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message et le type d'erreur spécifiés.  
** `$util.validate(Boolean, String, String, Object) : void` **  
Si la condition est fausse, lancez un CustomTemplateException avec le message et le type d'erreur spécifiés, ainsi que les données à renvoyer dans la réponse.  
** `$util.isNull(Object) : Boolean` **  
Renvoie la valeur true si l'objet fourni a la valeur null.  
** `$util.isNullOrEmpty(String) : Boolean` **  
Renvoie la valeur true si les données fournies ont une valeur null ou une chaîne vide. Sinon, la valeur renvoyée est false.  
** `$util.isNullOrBlank(String) : Boolean` **  
Renvoie la valeur true si les données fournies ont une valeur null ou une chaîne vide. Sinon, la valeur renvoyée est false.  
** `$util.defaultIfNull(Object, Object) : Object` **  
Renvoie le premier objet si la valeur n'est pas null. Sinon, renvoie le deuxième objet en tant qu'« objet par défaut ».  
** `$util.defaultIfNullOrEmpty(String, String) : String` **  
Renvoie la première chaîne si la valeur n'est pas null ou vide. Sinon, renvoie la deuxième chaîne en tant que « chaîne (string) par défaut ».  
** `$util.defaultIfNullOrBlank(String, String) : String` **  
Renvoie la première chaîne si la valeur n'est pas null ou vide. Sinon, renvoie la deuxième chaîne en tant que « chaîne (string) par défaut ».  
** `$util.isString(Object) : Boolean` **  
Renvoie la valeur true si l'objet est une chaîne.  
** `$util.isNumber(Object) : Boolean` **  
Renvoie la valeur true si l'objet est un nombre.  
** `$util.isBoolean(Object) : Boolean` **  
Renvoie la valeur true si l'objet est une valeur booléenne.  
** `$util.isList(Object) : Boolean` **  
Renvoie la valeur true si l'objet est une liste.  
** `$util.isMap(Object) : Boolean` **  
Renvoie la valeur true si l'objet est une map.  
** `$util.typeOf(Object) : String` **  
Renvoie une chaîne décrivant le type de l'objet. Identifications de type prises en charge : « Null », « Number », « String », « Map », « List », « Boolean ». Si un type ne peut pas être identifié, le type de retour est « Object ».  
** `$util.matches(String, String) : Boolean` **  
Renvoie la valeur true si le modèle spécifié dans le premier argument correspond aux données fournies dans le deuxième argument. Le modèle doit être une expression régulière, telle que `$util.matches("a*b", "aaaaab")`. La fonctionnalité est basée sur [Pattern](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html), que vous pouvez référencer à titre de documentation ultérieure.  
** `$util.authType() : String` **  
Renvoie une chaîne décrivant le type d'authentification multiple utilisé par une demande, renvoyant soit « IAM Authorization », « User Pool Authorization », « Open ID Connect Authorization », soit « API Key Authorization ».  
****`$util.log.info(Object) : Void`****  
Enregistre la représentation sous forme de chaîne de l'objet fourni dans le flux de journal demandé lorsque la journalisation au niveau de la demande et au niveau du champ est activée avec le niveau de CloudWatch journalisation sur une API. `ALL`  
****`$util.log.info(String, Object...) : Void`****  
Enregistre la représentation sous forme de chaîne des objets fournis dans le flux de journal demandé lorsque la journalisation au niveau de la demande et au niveau du champ est activée avec le niveau de CloudWatch journalisation sur une API. `ALL` Cet utilitaire remplacera toutes les variables indiquées par « \$1\$1 » dans le premier format d'entrée String par la représentation sous forme de chaîne des objets fournis dans l'ordre.  
****`$util.log.error(Object) : Void`****  
Enregistre la représentation sous forme de chaîne de l'objet fourni dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau du champ est activée avec le niveau du journal `ERROR` ou le niveau du journal `ALL` sur une API.  
****`$util.log.error(String, Object...) : Void`****  
Enregistre la représentation sous forme de chaîne des objets fournis dans le flux de journal demandé lorsque la CloudWatch journalisation au niveau du champ est activée avec le niveau du journal `ERROR` ou le niveau du journal `ALL` sur une API. Cet utilitaire remplacera toutes les variables indiquées par « \$1\$1 » dans le premier format d'entrée String par la représentation sous forme de chaîne des objets fournis dans l'ordre.

** `$util.escapeJavaScript(String) : String` **  
Renvoie la chaîne d'entrée sous forme de chaîne JavaScript échappée.

## Autorisation du résolveur
<a name="utility-helpers-in-resolver-auth"></a>

### Liste d'autorisations du résolveur
<a name="utility-helpers-in-resolver-auth-list"></a>

** `$util.unauthorized()` **  
Lève `Unauthorized` pour le champ en cours de résolution. Utilisez-le dans les modèles de mappage de demandes ou de réponses pour déterminer s'il convient d'autoriser l'appelant à résoudre le champ.