

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.

# ResolveChoice classe
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice"></a>

Résout un type de choix au sein d'un `DynamicFrame`.

## Exemple
<a name="pyspark-ResolveChoice-example"></a>

Nous vous recommandons d'utiliser la méthode [`DynamicFrame.resolveChoice()`](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-resolveChoice) pour gérer les champs contenant plusieurs types dans une image `DynamicFrame`. Vous trouverez un exemple de code, consultez [Exemple : utiliser la méthode resolveChoice pour gérer une colonne contenant plusieurs types](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#pyspark-resolveChoice-example).

## Méthodes
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-_methods"></a>
+ [\$1\$1call\$1\$1](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-__call__)
+ [s'appliquent](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-apply)
+ [name](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-name)
+ [describeArgs](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeArgs)
+ [describeReturn](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeReturn)
+ [describeTransform](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeTransform)
+ [describeErrors](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeErrors)
+ [describe](#aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describe)

## \$1\$1call\$1\$1(frame, specs = None, choice = "", transformation\$1ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-__call__"></a>

Fournit des informations pour résoudre les types ambigus au sein d'un `DynamicFrame`. Renvoie l'image `DynamicFrame` obtenue.
+ `frame` – `DynamicFrame` dans lequel résoudre le type de choix (obligatoire).
+ `specs` – Liste d'ambiguïtés spécifiques à résoudre, apparaissant sous forme de tuple:`(path, action)`. La valeur `path` identifie un élément ambigu spécifique, et la valeur `action` identifie la résolution correspondante. 

  Vous ne pouvez utiliser qu'un seul des paramètres `spec` et `choice`. Si le paramètre `spec` n'est pas `None`, alors le paramètre `choice` doit être une chaîne vide. Inversement, si le paramètre `choice` n'est pas une chaîne vide, alors le paramètre `spec` doit être `None`. Si aucun paramètre n'est fourni, AWS Glue essaie d'analyser le schéma et de l'utiliser pour résoudre les ambiguïtés. 

  Vous pouvez spécifier l'une des stratégies de résolution suivantes dans la portion `action` d'un tuple `specs` :
  + `cast` – Vous permet de spécifier un type pour la conversion (par exemple, `cast:int`).
  + `make_cols` – Résout une ambiguïté potentielle en aplatissant les données. Par exemple, si `columnA` peut être un `int` ou un `string`, la résolution doit produire deux colonnes nommées `columnA_int` et `columnA_string` dans le `DynamicFrame` obtenu.
  + `make_struct` – Résout une ambiguïté potentielle en utilisant un champ struct pour représenter les données. Par exemple, si des données d'une colonne peuvent être un `int` ou un `string`, l'action `make_struct` produit une colonne de structures dans le `DynamicFrame` obtenu, chacune contenant à la fois un `int` et un `string`.
  + `project` – Résout une éventuelle ambiguïté en conservant uniquement les valeurs d'un type spécifié dans l'image `DynamicFrame` obtenue. Par exemple, si les données d'une colonne `ChoiceType` peuvent être de type `int` ou `string`, la spécification d'une action `project:string` supprime des valeurs de l'image `DynamicFrame` obtenue qui ne sont pas de type `string`. 

  Si le `path` identifie un tableau, placez des crochets vides après le nom du tableau pour éviter toute ambiguïté. Par exemple, supposons que vous travailliez avec les données structurées comme suit :

  ```
  "myList": [
    { "price": 100.00 },
    { "price": "$100.00" }
  ]
  ```

  Vous pouvez sélectionner la version numérique plutôt que la version chaîne du prix en définissant `path` sur `"myList[].price"` et `action` sur `"cast:double"`.
+ `choice` – action de résolution par défaut si le paramètre `specs` est `None`. Si le paramètre `specs` n'est pas `None`, alors la seule valeur définie doit être une chaîne vide.

  En plus des actions `specs` répertoriées précédemment, cet argument prend également en charge l'action suivante :
  + `MATCH_CATALOG` – tente de convertir chaque `ChoiceType` dans le type correspondant de table Data Catalog spécifiée.
+ `database`— La base de données AWS Glue Data Catalog à utiliser avec le `MATCH_CATALOG` choix (obligatoire pour`MATCH_CATALOG`).
+ `table_name`— Le nom de la table AWS Glue Data Catalog à utiliser avec l'`MATCH_CATALOG`action (obligatoire pour`MATCH_CATALOG`).
+ `transformation_ctx` – Chaîne unique utilisée pour identifier les informations sur l'état (facultatif).
+ `info` – Chaîne associée à des erreurs dans la transformation (facultatif).
+ `stageThreshold` – nombre maximal d'erreurs qui peuvent avoir lieu dans la transformation avant qu'elle ne soit arrêtée.(facultatif) La valeur par défaut est zéro.
+ `totalThreshold` – nombre maximal d'erreurs pouvant se produire globalement avant que le processus de traitement des erreurs ne soit arrêté.(facultatif) La valeur par défaut est zéro.

## apply(cls, \$1args, \$1\$1kwargs)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-apply"></a>

Hérité de `GlueTransform` [s'appliquent](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-apply).

## name(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-name"></a>

Hérité de `GlueTransform` [name](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-name).

## describeArgs(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeArgs"></a>

Hérité de `GlueTransform` [describeArgs](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeArgs).

## describeReturn(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeReturn"></a>

Hérité de `GlueTransform` [describeReturn](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeReturn).

## describeTransform(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeTransform"></a>

Hérité de `GlueTransform` [describeTransform](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeTransform).

## describeErrors(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describeErrors"></a>

Hérité de `GlueTransform` [describeErrors](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describeErrors).

## describe(cls)
<a name="aws-glue-api-crawler-pyspark-transforms-ResolveChoice-describe"></a>

Hérité de `GlueTransform` [describe](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md#aws-glue-api-crawler-pyspark-transforms-GlueTransform-describe).