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 correspondant basé sur des règles avec le type de règle avancé
Conditions préalables
Avant de créer un flux de travail correspondant basé sur des règles, vous devez :
-
Créez un mappage de schéma. Pour de plus amples informations, veuillez consulter Création d'un mappage de schéma.
-
Si vous utilisez Connect Customer Customer Profiles comme destination de sortie, assurez-vous que les autorisations appropriées sont configurées.
La procédure suivante montre comment créer un flux de travail correspondant basé sur des règles avec le type de règle avancé à l'aide de la Résolution des entités AWS console ou de l'CreateMatchingWorkflowAPI.
- Console
-
Pour créer un flux de travail correspondant basé sur des règles avec Advanced (Avancé) type de règle à l'aide de la console
-
Connectez-vous à Console de gestion AWS et ouvrez la Résolution des entités AWS console à l'adresse https://console.aws.amazon.com/entityresolution/
. -
Dans le volet de navigation de gauche, sous Workflows, choisissez Matching.
-
Sur la page Flux de travail correspondants, dans le coin supérieur droit, choisissez Créer un flux de travail correspondant.
-
Pour l'étape 1 : Spécifiez les détails du flux de travail correspondants, procédez comme suit :
-
Entrez un nom de flux de travail correspondant et une description facultative.
-
Pour la saisie de données, choisissez une Région AWS AWS 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émas doivent répondre aux exigences suivantes :
-
Chaque champ de saisie doit être associé à 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
lastNamechampsfirstNameet sont regroupés et partagent la même clé de correspondance du nom, ce qui est autorisé.Passez en revue vos mappages de schéma et mettez-les à jour pour respecter cette règle de correspondance individuelle, à moins que les champs ne soient correctement regroupés, afin d'utiliser les règles avancées.
-
Si votre table de données comporte une colonne DELETE, le type du mappage de schéma doit être le
Stringmême et vous ne pouvez pas avoir dematchKeyetgroupName.
-
-
L'option Normaliser les données est sélectionnée par défaut, de sorte que les entrées de données soient normalisées avant d'être mises 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 noms suivants sont regroupés : prénom, deuxième prénom, nom de famille.
-
Si les sous-types d'adresses suivants sont regroupés : Adresse postale 1, Adresse postale 2, Adresse postale 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 du pays du téléphone.
-
-
Pour spécifier les autorisations d'accès au service, choisissez une option et effectuez l'action recommandée.
Option Action recommandée Création et utilisation d'un nouveau rôle de service -
Résolution des entités AWS crée un rôle de service avec la politique requise pour cette table.
-
Le nom du rôle de service par défaut est
entityresolution-matching-workflow-<timestamp>. -
Vous devez disposer des autorisations nécessaires pour créer des rôles et associer des politiques.
-
Si vos données d'entrée sont cryptées, vous pouvez choisir l'option Ces données sont cryptées avec une clé KMS, puis saisir une AWS KMS clé qui sera utilisée pour déchiffrer votre saisie de données.
Utiliser un rôle de service existant -
Choisissez un nom de rôle de service existant dans la liste déroulante.
La liste des rôles s'affiche si vous êtes autorisé à répertorier les rôles.
Si vous n'êtes pas autorisé à répertorier les rôles, vous pouvez saisir l'Amazon Resource Name (ARN) du rôle que vous souhaitez utiliser.
S'il n'existe aucun rôle de service, l'option Utiliser un rôle de service existant n'est pas disponible.
-
Consultez le rôle de service en choisissant le lien externe Afficher dans IAM.
Par défaut, Résolution des entités AWS n'essaie pas de mettre à jour la politique de rôle existante pour ajouter les autorisations nécessaires.
-
-
(Facultatif) Pour activer les balises pour la ressource, choisissez Ajouter une nouvelle étiquette, puis entrez la paire clé/valeur.
-
Choisissez Suivant.
-
-
Pour l'étape 2 : Choisissez la technique de correspondance :
-
Pour la méthode de correspondance, choisissez la Rule-based correspondance.
-
Pour Type de règle, choisissez Avancé.
-
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 sont 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 dans le guide de l'utilisateur Amazon S3.
-
-
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 correspondants appropriés dans la liste déroulante en fonction de votre objectif.
Vous pouvez créer jusqu'à 25 règles.
Note
Résolution des entités AWS prend également en charge la correspondance transitive, qui traite les enregistrements à tous les niveaux de règles pour connecter les groupes de correspondance de manière transitive. La correspondance transitive est disponible en tant que API-only fonctionnalité. Lorsque la correspondance transitive est activée, le modificateur EmptyValues =Ignore n'est pas pris en charge. Pour de plus amples informations, veuillez consulter Utilisation de la correspondance transitive.
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 vous aider à choisir le type de fonction ou d'opérateur que vous souhaitez utiliser, en fonction de votre objectif.
Votre objectif Fonction ou opérateur recommandé Modificateur optionnel recommandé Avantages Faites correspondre des chaînes identiques sur des données précises, mais ne faites pas correspondre des chaînes identiques sur des valeurs vides. Exact EmptyValues=Processus Faites correspondre des chaînes identiques à des données précises et ignorez les valeurs vides. Exactement ( matchKey)EmptyValues=Ignorer Faites correspondre plusieurs enregistrements entre les touches de match. Convient aux associations flexibles. Limite : 15 touches de match ExactManyToMany( matchKey,matchKey, ...)n/a Mesurez la similitude entre les représentations numériques des données, mais ne faites pas correspondre les valeurs vides. Convient pour le texte, les chiffres ou une combinaison des deux. Cosinus EmptyValues=Processus Simple et efficace.
Fonctionne bien avec du texte long lorsqu'il est combiné à une TF-IDF pondération.
Idéal pour une correspondance exacte basée sur des mots.
Mesurez la similitude entre les représentations numériques des données et ignorez les valeurs vides. Cosinus ( matchKey,threshold,...)EmptyValues=Ignorer Gère bien les fautes de frappe, les fautes d'orthographe et les transpositions.
Efficace sur un large éventail de types d'informations personnelles.
Idéal pour les chaînes courtes (noms ou numéros de téléphone, par exemple).
Comptez le nombre minimum de modifications nécessaires pour changer un mot en un autre, mais ne faites pas correspondre les valeurs vides. Convient aux textes présentant de légères différences d'orthographe. Levenshtein EmptyValues=Processus Comptez le nombre minimum de modifications nécessaires pour changer un mot en un autre et ignorez les valeurs vides. Levenstein ( matchKey,,threshold...)EmptyValues=Ignorer Comparez et faites correspondre des chaînes de texte en fonction de leur similitude sonore, mais ne correspondez pas à des valeurs vides. Convient aux textes présentant des variations d'orthographe ou de prononciation. Soundex EmptyValues=Processus Efficace pour la correspondance phonétique, l'identification de mots à consonance similaire.
Rapide et peu coûteux en termes de calcul.
Idéal pour faire correspondre des noms ayant des prononciations similaires mais des orthographes différentes.
Comparez et faites correspondre les chaînes de texte en fonction de leur similitude sonore et ignorez les valeurs vides. Soundex () matchKeyEmptyValues=Ignorer Combinez les fonctions. ET n/a Fonctions séparées. OU n/a Regroupez les conditions pour créer des conditions imbriquées. (…) n/a Exemple 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 met en correspondance les enregistrements des numéros de téléphone (touche de correspondance du téléphone) et des adresses e-mail (touche de correspondance des adresses e-mail) :
Exact(Phone,EmptyValues=Process) AND Levenshtein("Email address",2)
La touche Phone Match utilise la fonction de correspondance exacte 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 des adresses e-mail utilise la fonction de correspondance de Levenshtein pour faire correspondre les données avec des fautes d'orthographe en utilisant le seuil de 2 par défaut de l'algorithme de distance de Levenshtein. La clé de correspondance par e-mail n'utilise aucun modificateur facultatif.
L'opérateur ET combine la fonction de correspondance exacte et la fonction de correspondance de Levenshtein.
Exemple Condition de règle utilisée ExactManyToMany pour effectuer la correspondance des touches 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 l'un d'entre eux possède des valeurs identiques.
L'
ExactManyToManyopé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 adressesHomeAddresscorrespondent auBillingAddressouShippingAddress, ou si les trois adresses correspondent exactement.ExactManyToMany(HomeAddress, BillingAddress, ShippingAddress)Exemple 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 en fonction de correspondances exactes. Une fois ces clusters initiaux formés, le système applique des filtres de correspondance floue pour identifier des correspondances supplémentaires au sein de chaque cluster. 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
ANDopérateurs pour vérifier que les trois champs —FullName, Date de naissance (DOB) etAddress— correspondent exactement à tous les enregistrements. Il permet également de légères variations duInternalIDchamp en utilisant une distance de Levenshtein de.1La distance de Levenshtein mesure le nombre minimum de modifications d'un seul caractère requises pour transformer une chaîne en une autre. Une distance de 1 signifie qu'elleInternalIDscorrespondra à une différence d'un seul caractère (par exemple, 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 s'il existe de légères différences dans l'identifiant.Exact(FullName) AND Exact(DOB) AND Exact(Address) and Levenshtein(InternalID, 1) -
Choisissez Suivant.
-
-
Pour l'étape 3 : Spécifiez la sortie et le format des données :
-
Dans Destination et 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.
-
Pour le chiffrement, si vous choisissez de personnaliser les paramètres de chiffrement, entrez la AWS KMS clé ARN.
-
Afficher la sortie générée par le système.
-
Pour la sortie des données, choisissez les champs que vous souhaitez inclure, masquer ou masquer, puis prenez les mesures recommandées en fonction de vos objectifs.
Votre objectif Action recommandée Inclure des champs Conservez l'état de sortie comme inclus. Masquer les champs (exclure de la sortie) Choisissez le champ de sortie, puis choisissez Masquer. Champs de masque Choisissez le champ Sortie, puis choisissez Hash output. Réinitialiser les paramètres précédents Choisissez Réinitialiser. -
Choisissez Suivant.
-
-
Pour l'étape 4 : Vérifiez et créez :
-
Passez en revue les sélections que vous avez effectuées pour les étapes précédentes et modifiez-les si nécessaire.
-
Choisissez Créer et exécuter.
Un message s'affiche, indiquant que le flux de travail correspondant a été créé et que la tâche a démarré.
-
-
Sur la page des détails du flux de travail correspondant, dans l'onglet Mesures, affichez les informations suivantes sous Mesures de la dernière tâche :
-
L'identifiant du poste.
-
État de la tâche de flux de travail correspondante : en file d'attente, en cours, terminée , échouée
-
Temps écoulé pour la tâche de flux de travail.
-
Le nombre d'enregistrements traités.
-
Le nombre d'enregistrements non traités.
-
Les identifiants de correspondance uniques générés.
-
Le nombre d'enregistrements d'entrée.
Vous pouvez également consulter les statistiques des tâches correspondant aux tâches de flux de travail qui ont déjà été exécutées dans l'historique des tâches.
-
-
Une fois la tâche de flux de travail correspondante terminée (le statut est terminé), vous pouvez accéder à l'onglet Sortie des données, puis sélectionner votre emplacement Amazon S3 pour afficher les résultats.
-
(Type de traitement manuel uniquement) Si vous avez créé un flux de travail Rule-based correspondant 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.
-
(Type de traitement automatique uniquement) Si votre table de données comporte une colonne DELETE, alors :
-
Les enregistrements définis
truedans la colonne DELETE sont supprimés. -
Les enregistrements définis
falsedans 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.
-
-
- API
-
Pour créer un flux de travail correspondant basé sur des règles avec Advanced (Avancé) type de règle utilisant 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 explicitement.
-
Ouvrez un terminal ou une invite de commande pour effectuer la demande d'API.
-
Créez une requête POST vers le point de terminaison suivant :
/matchingworkflows -
Dans l'en-tête de la demande, définissez la Content-type valeur 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 .
-
Pour le corps de la requête, fournissez les paramètres JSON requis 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": "" }stringOù :
-
workflowName(obligatoire) — Doit être unique et correspondre au modèle entre 1 et 255 caractères [a-z A-Z _0-9-] * -
inputSourceConfig(obligatoire) — Liste des configurations de 1 à 20 sources d'entrée -
outputSourceConfig(obligatoire) — Configuration d'une seule source de sortie -
resolutionTechniques(obligatoire) — Définissez sur « RULE_MATCHING » comme ResolutionType pour une 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
-
-
(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" } -
Envoyez la demande .
-
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 } -
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 la validation de l'entrée échoue
-
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 de service interne
-
-