

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.

# Création d'un flux de travail de correspondance basé sur des règles avec le type de règle avancée
<a name="rule-based-mw-advanced"></a>

**Conditions préalables**

Avant de créer un flux de travail de correspondance basé sur des règles, vous devez :

1. Créez un mappage de schéma. Pour de plus amples informations, veuillez consulter [Création d'un mappage de schéma](create-schema-mapping.md).

1. Si vous utilisez les profils clients Amazon Connect comme destination de sortie, assurez-vous que les autorisations appropriées sont configurées.

La procédure suivante explique comment créer un flux de travail de correspondance basé sur des règles avec le type de règle **avancée** à l'aide de la Résolution des entités AWS console ou de l'`CreateMatchingWorkflow`API.

------
#### [ Console ]

**Pour créer un flux de travail de correspondance basé sur des règles avec le type de règle **avancée** à l'aide de la console**

1. Connectez-vous à la Résolution des entités AWS console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/entityresolution/](https://console.aws.amazon.com/entityresolution/).

1. Dans le volet de navigation de gauche, sous **Workflows**, choisissez **Matching**.

1. Sur la page **des flux de travail correspondants**, dans le coin supérieur droit, choisissez **Créer un flux de travail correspondant**.

1. Pour **l'étape 1 : Spécifier les détails du flux de travail correspondants**, procédez comme suit : 

   1. Entrez un **nom de flux de travail correspondant** et une **description** facultative.

   1. Pour la **saisie de données**, choisissez une **Région AWSAWS Glue ****base de données**, la **AWS Glue table**, puis le **mappage de schéma** correspondant.

      Vous pouvez ajouter jusqu'à 19 entrées de données.
**Note**  
Pour utiliser les règles **avancées**, vos mappages de schéma doivent répondre aux exigences suivantes :  
Chaque champ de saisie doit être mappé à une clé de correspondance unique, sauf si les champs sont regroupés.
Si les champs de saisie sont regroupés, ils peuvent partager la même clé de correspondance.  
Par exemple, le mappage de schéma suivant serait valide pour les règles **avancées** :  
`firstName: { matchKey: 'name', groupName: 'name' }`  
`lastName: { matchKey: 'name', groupName: 'name' }`  
Dans ce cas, les `lastName` champs `firstName` et sont regroupés et partagent la même clé de correspondance de nom, ce qui est autorisé.  
Passez en revue vos mappages de schéma et mettez-les à jour pour suivre cette règle de one-to-one correspondance, sauf si les champs sont correctement groupés, afin d'utiliser les règles **avancées**.
Si votre table de données comporte une colonne DELETE, le type du mappage du schéma doit être `String` et vous ne pouvez pas avoir de « `matchKey` et `groupName` ». 

   1. L'option **Normaliser les données** est sélectionnée par défaut afin que les entrées de données soient normalisées avant la mise en correspondance. Si vous ne souhaitez pas normaliser les données, désélectionnez l'option **Normaliser les données**.
**Note**  
La normalisation n'est prise en charge que pour les scénarios suivants dans **Créer un mappage de schéma** :   
Si les sous-types de **nom** suivants sont regroupés : **prénom**, **deuxième prénom, **nom**** de famille.
Si les sous-types d'**adresse** suivants sont regroupés **: adresse 1**, **adresse 2**, **adresse 3**, **ville**, **État**, **pays**, **code postal**.
Si les sous-types de **téléphone** suivants sont regroupés : **numéro de téléphone**, **code de pays du téléphone**.

   1. Pour spécifier les autorisations **d'accès au service**, choisissez une option et prenez les mesures recommandées.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/entityresolution/latest/userguide/rule-based-mw-advanced.html)

   1. (Facultatif) Pour activer les **balises** pour la ressource, choisissez **Ajouter une nouvelle balise**, puis entrez la paire ****clé/valeur****.

   1. Choisissez **Suivant**.

1. Pour **l'étape 2 : Choisissez la technique de correspondance** :

   1. Pour **Méthode de correspondance**, choisissez Correspondance **basée sur des règles**.

   1. Pour **Type de règle**, choisissez **Avancé**.  
![Choisissez l'écran de technique de correspondance avec l'option de correspondance avancée basée sur des règles sélectionnée.](http://docs.aws.amazon.com/fr_fr/entityresolution/latest/userguide/images/choose-matching-method-rule-based-advanced.PNG)

   1. Pour **Cadence de traitement**, sélectionnez l'une des options suivantes.
      + Choisissez **Manuel** pour exécuter un flux de travail à la demande pour une mise à jour groupée 
      + Choisissez **Automatique** pour exécuter un flux de travail dès que de nouvelles données se trouvent dans votre compartiment S3 
**Note**  
Si vous choisissez **Automatique**, assurez-vous que EventBridge les notifications Amazon sont activées pour votre compartiment S3. Pour obtenir des instructions sur l'activation EventBridge d'Amazon à l'aide de la console S3, consultez la section [Activation d'Amazon EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html) *dans le guide de l'utilisateur Amazon S3*.

   1. Pour les **règles de correspondance**, entrez un **nom de règle**, puis créez la **condition de règle** en choisissant les fonctions et les opérateurs de correspondance appropriés dans la liste déroulante en fonction de votre objectif.

      Vous pouvez créer jusqu'à 25 règles.

      **Vous devez combiner une fonction de correspondance floue (**Cosine**, **Levenshtein** ou **Soundex**) avec une fonction de correspondance **exacte** (Exact,) à l'aide de l'opérateur AND. **ExactManyToMany****

      Vous pouvez utiliser le tableau suivant pour déterminer le type de fonction ou d'opérateur que vous souhaitez utiliser, en fonction de votre objectif.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/entityresolution/latest/userguide/rule-based-mw-advanced.html)  
**Example Condition de règle qui correspond aux numéros de téléphone et aux e-mails**  

      Voici un exemple de condition de règle qui fait correspondre les enregistrements relatifs aux numéros de téléphone (clé de correspondance du **téléphone**) et aux adresses **e-mail (clé de correspondance de l'adresse e-mail**) :

      `Exact(Phone,EmptyValues=Process) AND Levenshtein("Email address",2)`  
![Exemple de condition de règle qui fait correspondre les enregistrements relatifs aux numéros de téléphone et aux adresses e-mail.](http://docs.aws.amazon.com/fr_fr/entityresolution/latest/userguide/images/matching-rule-condition-example.png)

      La touche **Phone** Match utilise la fonction **Exact** matching pour faire correspondre des chaînes identiques. La touche **Phone** Match traite les valeurs vides lors de la correspondance à l'aide du modificateur **EmptyValues=Process**.

      La clé de correspondance de l'**adresse e-mail** utilise la fonction de correspondance de **Levenshtein** pour faire correspondre les données aux fautes d'orthographe en utilisant le seuil de 2 par défaut de l'algorithme de distance de Levenshtein. La clé **Email** match n'utilise aucun modificateur facultatif.

      L'opérateur **AND** combine la fonction de correspondance **exacte** et la fonction de correspondance **Levenshtein**.  
**Example Condition de règle utilisée ExactManyToMany pour effectuer une correspondance par clé de correspondance**  

      Voici un exemple de condition de règle qui fait correspondre les enregistrements de trois champs d'adresse (clé de **HomeAddress**correspondance, clé de **BillingAddress**correspondance et clé de **ShippingAddress**correspondance) pour trouver des correspondances potentielles en vérifiant si certains d'entre eux ont des valeurs identiques. 

      L'`ExactManyToMany`opérateur évalue toutes les combinaisons possibles des champs d'adresse spécifiés pour identifier les correspondances exactes entre deux adresses ou plus. Par exemple, il détecterait si les adresses `HomeAddress` correspondent à ou si les trois adresses correspondent exactement. `BillingAddress` `ShippingAddress`

      ```
      ExactManyToMany(HomeAddress, BillingAddress, ShippingAddress)
      ```  
**Example Condition de règle utilisant le clustering**  

      Dans le mode Advanced Rule Based Matching avec conditions floues, le système regroupe d'abord les enregistrements en clusters sur la base de correspondances exactes. Une fois ces groupes initiaux formés, le système applique des filtres de correspondance floue pour identifier des correspondances supplémentaires au sein de chaque groupe. Pour des performances optimales, vous devez sélectionner des conditions de correspondance exactes en fonction de vos modèles de données afin de créer des clusters initiaux bien définis. 

      Voici un exemple de condition de règle qui combine plusieurs correspondances exactes avec une exigence de correspondance floue. Il utilise des `AND` opérateurs pour vérifier que les trois champs —`FullName`, Date de naissance (`DOB`) et `Address` — correspondent exactement entre les enregistrements. Il permet également des variations mineures dans le `InternalID` champ en utilisant une distance de Levenshtein de. `1` La distance de Levenshtein mesure le nombre minimum de modifications à caractère unique requises pour transformer une chaîne en une autre. Une distance de 1 signifie qu'il y aura une correspondance `InternalIDs` qui ne diffère que d'un caractère (comme une faute de frappe, une suppression ou une insertion). Cette combinaison de conditions permet d'identifier les enregistrements qui sont très susceptibles de représenter la même entité, même si l'identifiant présente de légères différences.

      ```
      Exact(FullName) AND Exact(DOB) AND Exact(Address) and Levenshtein(InternalID, 1)
      ```

   1. Choisissez **Suivant**.

1. Pour l'**étape 3 : Spécifier la sortie et le format des données** :

   1. Pour la **destination et le format de sortie des données**, choisissez l'**emplacement Amazon S3** pour la sortie des données et indiquez si le **format des données** sera des **données normalisées ou des données** **d'origine**.

   1. Pour **le chiffrement**, si vous choisissez de **personnaliser les paramètres de chiffrement**, entrez l'ARN de la **AWS KMS clé**.

   1. Affichez la **sortie générée par le système**.

   1. Pour la **sortie de données**, choisissez les champs que vous souhaitez inclure, masquer ou masquer, puis prenez les mesures recommandées en fonction de vos objectifs.     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/entityresolution/latest/userguide/rule-based-mw-advanced.html)

   1. Choisissez **Suivant**.

1. Pour **l'étape 4 : révision et création** :

   1. Passez en revue les sélections que vous avez effectuées lors des étapes précédentes et modifiez-les si nécessaire.

   1. Choisissez **Créer et exécuter**.

      Un message apparaît, indiquant que le flux de travail correspondant a été créé et que le travail a commencé.

1. Sur la page des détails du flux de travail correspondant, sous l'onglet **Mesures**, consultez les informations suivantes sous **Dernières mesures de travail** :
   + Le **Job ID**. 
   + **État** **de la tâche de flux de travail correspondante : En **file d'attente**, **en cours**, **terminée**, échouée** 
   + **Durée d'exécution de** la tâche de flux de travail.
   + Le nombre d'**enregistrements traités**. 
   + Le nombre d'**enregistrements non traités**. 
   + La **correspondance unique IDs générée**.
   + Le nombre d'**enregistrements en entrée**.

   Vous pouvez également consulter les statistiques des tâches correspondant aux tâches de flux de travail précédemment exécutées dans l'**historique des tâches**.

1. Une fois la tâche de flux de travail correspondante **terminée (le **statut** est terminé**), vous pouvez accéder à l'onglet **Sortie de données**, puis sélectionner votre **site Amazon S3** pour afficher les résultats.

1. (Type de traitement **manuel** uniquement) Si vous avez créé un flux de travail de **correspondance basé sur des règles** avec le type de traitement **manuel**, vous pouvez exécuter le flux de travail correspondant à tout moment en choisissant **Exécuter le flux de travail sur la page des détails du** flux de travail correspondant.

1. (Type de traitement **automatique** uniquement) Si votre table de données comporte une colonne DELETE, alors : 
   + Les enregistrements définis sur {{true}} la colonne DELETE sont supprimés.
   + Les enregistrements définis sur {{false}} la colonne DELETE sont ingérés dans S3.

   Pour de plus amples informations, veuillez consulter [Étape 1 : préparer des tableaux de données de première partie](prepare-input-data.md#prepare-first-party-tables).

------
#### [ API ]

**Pour créer un flux de travail de correspondance basé sur des règles avec le type de règle **avancée** à l'aide de l'API**
**Note**  
Par défaut, le flux de travail utilise un traitement standard (par lots). Pour utiliser le traitement incrémentiel (automatique), vous devez le configurer de manière explicite.

1. Ouvrez un terminal ou une invite de commande pour effectuer la demande d'API.

1. Créez une requête POST pour le point de terminaison suivant : 

   ```
   /matchingworkflows
   ```

1. Dans l'en-tête de la demande, définissez le type de contenu sur application/json. 
**Note**  
Pour obtenir la liste complète des langages de programmation pris en charge, consultez la *[référence des Résolution des entités AWS API](https://docs.aws.amazon.com/entityresolution/latest/apireference/Welcome.html)*. 

1. Pour le corps de la demande, fournissez les paramètres JSON obligatoires suivants : 

   ```
   {
      "description": "{{string}}",
      "incrementalRunConfig": { 
         "incrementalRunType": "{{string}}"
      },
      "inputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "inputSourceARN": "{{string}}",
            "schemaName": "{{string}}"
         }
      ],
      "outputSourceConfig": [ 
         { 
            "applyNormalization": {{boolean}},
            "KMSArn": "{{string}}",
            "output": [ 
               { 
                  "hashed": boolean,
                  "name": "{{string}}"
               }
            ],
            "outputS3Path": "{{string}}"
         }
      ],
      "resolutionTechniques": { 
         "providerProperties": { 
            "intermediateSourceConfiguration": { 
               "intermediateS3Path": "{{string}}"
            },
            "providerConfiguration": {{JSON value}},
            "providerServiceArn": "{{string}}"
         },
         "resolutionType": "RULE_MATCHING",
         "ruleBasedProperties": { 
            "attributeMatchingModel": "{{string}}",
            "matchPurpose": "{{string}}",
            "rules": [ 
               { 
                  "matchingKeys": [ "{{string}}" ],
                  "ruleName": "{{string}}"
               }
            ]
         },
         "ruleConditionProperties": { 
            "rules": [ 
               { 
                  "condition": "{{string}}",
                  "ruleName": "{{string}}"
               }
            ]
         }
      },
      "roleArn": "{{string}}",
      "tags": { 
         "string" : "{{string}}" 
      },
      "workflowName": "{{{{string}}}}"
   }
   ```

   Où :
   + `workflowName`(obligatoire) — Doit être unique et correspondre au modèle [a-za-Z\_0-9-] \*
   + `inputSourceConfig`(obligatoire) — Liste des configurations de 1 à 20 sources d'entrée
   + `outputSourceConfig`(obligatoire) — Exactement une configuration de source de sortie
   + `resolutionTechniques`(obligatoire) — Défini sur « RULE\_MATCHING » comme type de résolution pour la correspondance basée sur des règles
   + `roleArn`(obligatoire) — ARN du rôle IAM pour l'exécution du flux de travail
   + `ruleConditionProperties`(obligatoire) — Liste des conditions de règle et nom de la règle correspondante.

   Les paramètres facultatifs incluent :
   + `description`— Jusqu'à 255 caractères
   + `incrementalRunConfig`— Configuration du type d'exécution incrémentielle
   + `tags`— Jusqu'à 200 paires clé-valeur

1. (Facultatif) Pour utiliser le traitement incrémentiel au lieu du traitement standard (par lots) par défaut, ajoutez le paramètre suivant au corps de la demande : 

   ```
   "incrementalRunConfig": {
      "incrementalRunType": "AUTOMATIC"
   }
   ```

1. Envoyez la demande .

1. En cas de succès, vous recevrez une réponse avec le code d'état 200 et un corps JSON contenant : 

   ```
   {
      "workflowArn": "string",
      "workflowName": "string",
      // Plus all configured workflow details
   }
   ```

1. Si l'appel échoue, l'un des messages d'erreur suivants peut s'afficher :
   + 400 — ConflictException si le nom du flux de travail existe déjà
   + 400 — ValidationException si l'entrée échoue à la validation
   + 402 — ExceedsLimitException si les limites du compte sont dépassées
   + 403 — AccessDeniedException si vous ne disposez pas d'un accès suffisant
   + 429 — ThrottlingException si la demande a été limitée
   + 500 — en InternalServerException cas de panne du service interne

------