Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di un flusso di lavoro di corrispondenza basato su regole con il tipo di regola Avanzato
Prerequisiti
Prima di creare un flusso di lavoro di corrispondenza basato su regole, devi:
-
Creare una mappatura dello schema. Per ulteriori informazioni, consulta Creazione di una mappatura dello schema.
-
Se utilizzi Connect Customer Profiles come destinazione di output, assicurati di avere le autorizzazioni appropriate configurate.
La procedura seguente dimostra come creare un flusso di lavoro di corrispondenza basato su regole con il tipo di regola Advanced utilizzando la AWS Entity Resolution console o l'API. CreateMatchingWorkflow
- Console
-
Per creare un flusso di lavoro di corrispondenza basato su regole con Avanzata tipo di regola utilizzando la console
-
Accedi Console di gestione AWS e apri la AWS Entity Resolution console all'indirizzo https://console.aws.amazon.com/entityresolution/
. -
Nel riquadro di navigazione a sinistra, in Flussi di lavoro, scegli Corrispondenza.
-
Nella pagina Flussi di lavoro corrispondenti, nell'angolo in alto a destra, scegli Crea flusso di lavoro corrispondente.
-
Per il passaggio 1: specifica i dettagli del flusso di lavoro corrispondenti, procedi come segue:
-
Inserisci un nome del flusso di lavoro corrispondente e una descrizione opzionale.
-
Per l'immissione dei dati Regione AWS, scegli un AWS Glue database, la AWS Glue tabella e quindi la mappatura dello schema corrispondente.
È possibile aggiungere fino a 19 input di dati.
Nota
Per utilizzare le regole avanzate, le mappature degli schemi devono soddisfare i seguenti requisiti:
-
Ogni campo di input deve essere mappato a una chiave di corrispondenza univoca, a meno che i campi non siano raggruppati.
-
Se i campi di input sono raggruppati, possono condividere la stessa chiave di corrispondenza.
Ad esempio, la seguente mappatura dello schema sarebbe valida per le regole avanzate:
firstName: { matchKey: 'name', groupName: 'name' }lastName: { matchKey: 'name', groupName: 'name' }In questo caso, i
lastNamecampifirstNamee sono raggruppati e condividono la stessa chiave di corrispondenza del nome, che è consentita.Rivedi le mappature dello schema e aggiornale per seguire questa regola di corrispondenza uno a uno, a meno che i campi non siano raggruppati correttamente, per utilizzare le regole avanzate.
-
Se la tua tabella dati ha una colonna DELETE, il tipo di mappatura dello schema deve essere
Stringe non puoi avere unamatchKeyegroupName.
-
-
L'opzione Normalizza dati è selezionata per impostazione predefinita, in modo che gli input dei dati vengano normalizzati prima della corrispondenza. Se non desideri normalizzare i dati, deseleziona l'opzione Normalizza dati.
Nota
La normalizzazione è supportata solo per i seguenti scenari in Create Schema Mapping:
-
Se i seguenti sottotipi di nome sono raggruppati: Nome, Secondo nome, Cognome.
-
Se i seguenti sottotipi di indirizzo sono raggruppati: Indirizzo 1, Indirizzo 2, Indirizzo 3, Città, Stato, Paese , Codice postale.
-
Se sono raggruppati i seguenti sottotipi di telefono: numero di telefono, prefisso telefonico.
-
-
Per specificare le autorizzazioni di accesso al servizio, scegli un'opzione ed esegui l'azione consigliata.
Opzione Azione consigliata Crea e utilizza un nuovo ruolo di servizio -
AWS Entity Resolution crea un ruolo di servizio con la policy richiesta per questa tabella.
-
Il nome del ruolo di servizio predefinito è
entityresolution-matching-workflow-<timestamp>. -
È necessario disporre delle autorizzazioni per creare ruoli e allegare politiche.
-
Se i dati di input sono crittografati, puoi scegliere l'opzione Questi dati sono crittografati con una chiave KMS e quindi inserire una AWS KMS chiave che verrà utilizzata per decrittografare i dati immessi.
Utilizza un ruolo di servizio esistente -
Scegli un nome di ruolo di servizio esistente dall'elenco a discesa.
L'elenco dei ruoli viene visualizzato se disponi delle autorizzazioni per elencare i ruoli.
Se non disponi delle autorizzazioni per elencare i ruoli, puoi inserire l'Amazon Resource Name (ARN) del ruolo che desideri utilizzare.
Se non ci sono ruoli di servizio esistenti, l'opzione Usa un ruolo di servizio esistente non è disponibile.
-
Visualizza il ruolo del servizio scegliendo il link esterno Visualizza in IAM.
Per impostazione predefinita, AWS Entity Resolution non tenta di aggiornare la politica del ruolo esistente per aggiungere le autorizzazioni necessarie.
-
-
(Facoltativo) Per abilitare i tag per la risorsa, scegli Aggiungi nuovo tag, quindi inserisci la coppia Chiave e Valore.
-
Scegli Next (Successivo).
-
-
Per il passaggio 2: scegli la tecnica di abbinamento:
-
Per il metodo di abbinamento, scegli la Rule-based corrispondenza.
-
Per il tipo di regola, scegli Avanzato.
-
Per Processing cadence, seleziona una delle seguenti opzioni.
-
Scegli Manuale per eseguire un flusso di lavoro su richiesta per un aggiornamento in blocco
-
Scegli Automatico per eseguire un flusso di lavoro non appena arrivano nuovi dati nel bucket S3
Nota
Se scegli Automatico, assicurati di avere EventBridge le notifiche Amazon attive per il tuo bucket S3. Per istruzioni su come abilitare Amazon EventBridge utilizzando la console S3, consulta Enabling Amazon EventBridge nella Amazon S3 User Guide.
-
-
Per Matching rules, inserisci il nome di una regola e quindi crea la condizione della regola scegliendo le funzioni e gli operatori di corrispondenza appropriati dall'elenco a discesa in base al tuo obiettivo.
Puoi creare fino a 25 regole.
Nota
AWS Entity Resolution supporta anche la corrispondenza transitiva, che elabora i record di tutti i livelli di regole per connettere i gruppi di corrispondenza in modo transitivo. La corrispondenza transitiva è disponibile come funzionalità. API-only Quando la corrispondenza transitiva è abilitata, il modificatore EmptyValues =Ignore non è supportato. Per ulteriori informazioni, consulta Utilizzo della corrispondenza transitiva.
È necessario combinare una funzione di corrispondenza fuzzy (Cosine, Levenshtein o Soundex) con una funzione di corrispondenza esatta (Exact,) utilizzando l'operatore AND. ExactManyToMany
È possibile utilizzare la seguente tabella per decidere il tipo di funzione o operatore da utilizzare, a seconda dell'obiettivo.
Il tuo obiettivo Funzione o operatore consigliato Modificatore opzionale consigliato Pro Corrisponde a stringhe identiche su dati accurati ma non su valori vuoti. Esatto EmptyValues=Processo Abbina stringhe identiche su dati accurati e ignora i valori vuoti. Esatto () matchKeyEmptyValues=Ignora Abbina più record tra le chiavi di confronto. Adatto per abbinamenti flessibili. Limite: 15 tasti di abbinamento ExactManyToMany( matchKey,matchKey, ...)n/a Misura la somiglianza tra le rappresentazioni numeriche dei dati ma non le corrispondenze su valori vuoti. Adatto per testo, numeri o una combinazione di entrambi. Coseno EmptyValues=Processo Semplice, efficiente.
Funziona bene con testi lunghi se combinato con la TF-IDF ponderazione.
Ideale per una corrispondenza esatta basata su parole.
Misura la somiglianza tra le rappresentazioni numeriche dei dati e ignora i valori vuoti. Coseno (,,...) matchKeythresholdEmptyValues=Ignora Gestisce bene gli errori di battitura, di ortografia e le trasposizioni.
Efficace su un'ampia gamma di tipi di PII.
Ideale per stringhe brevi (ad esempio, nomi o numeri di telefono).
Conta il numero minimo di modifiche necessarie per cambiare una parola in un'altra, ma non far corrispondere i valori vuoti. Adatto per testi con lievi differenze di ortografia. Levenshtein EmptyValues= Processo Conta il numero minimo di modifiche necessarie per cambiare una parola in un'altra e ignora i valori vuoti. Levenshtein (,,...) matchKeythresholdEmptyValues=Ignora Confronta e abbina le stringhe di testo in base alla loro somiglianza ma non ai valori vuoti. Adatto per testi con variazioni di ortografia o pronuncia. Indice sonoro EmptyValues= Processo Efficace per la corrispondenza fonetica, identificando parole dal suono simile.
Veloce e computazionalmente poco costoso.
Ottimo per abbinare nomi con pronunce simili ma ortografie diverse.
Confronta e abbina le stringhe di testo in base alla loro somiglianza e ignora i valori vuoti. Indice sonoro () matchKeyEmptyValues=Ignora Combina funzioni. E n/a Funzioni separate. OPPURE n/a Raggruppa le condizioni per creare condizioni annidate. (…) n/a Esempio Condizione della regola che corrisponde ai numeri di telefono e alle email
Di seguito è riportato un esempio di condizione della regola che corrisponde ai record relativi ai numeri di telefono (chiave di corrispondenza telefonica) e agli indirizzi e-mail (chiave di corrispondenza dell'indirizzo e-mail):
Exact(Phone,EmptyValues=Process) AND Levenshtein("Email address",2)
Il tasto Phone match utilizza la funzione Exact matching per abbinare stringhe identiche. Il tasto Phone match elabora i valori vuoti in corrispondenza utilizzando il modificatore EmptyValues =Process.
Il tasto di corrispondenza dell'indirizzo e-mail utilizza la funzione di corrispondenza Levenshtein per abbinare i dati con errori di ortografia utilizzando la soglia predefinita dell'algoritmo Levenshtein Distance pari a 2. Il tasto Email Match non utilizza alcun modificatore opzionale.
L'operatore AND combina la funzione di corrispondenza esatta e la funzione di corrispondenza Levenshtein.
Esempio Regola, condizione utilizzata ExactManyToMany per eseguire la corrispondenza delle chiavi di confronto
Di seguito è riportato un esempio di condizione della regola che fa HomeAddress corrispondere i record su tre campi di indirizzo (chiave di BillingAddress corrispondenza, chiave di ShippingAddress corrispondenza e chiave di corrispondenza) per trovare potenziali corrispondenze controllando se alcuni di essi hanno valori identici.
L'
ExactManyToManyoperatore valuta tutte le possibili combinazioni dei campi di indirizzo specificati per identificare le corrispondenze esatte tra due o più indirizzi. Ad esempio, rileverebbe se iHomeAddressnumeri corrispondonoBillingAddressoShippingAddressse tutti e tre gli indirizzi corrispondono esattamente.ExactManyToMany(HomeAddress, BillingAddress, ShippingAddress)Esempio Condizione della regola che utilizza il clustering
In Advanced Rule Based Matching con condizioni fuzzy, il sistema prima raggruppa i record in cluster in base a corrispondenze esatte. Una volta formati questi cluster iniziali, il sistema applica filtri di corrispondenza fuzzy per identificare corrispondenze aggiuntive all'interno di ciascun cluster. Per prestazioni ottimali, è necessario selezionare le condizioni di corrispondenza esatte in base ai modelli di dati per creare cluster iniziali ben definiti.
Di seguito è riportato un esempio di condizione della regola che combina più corrispondenze esatte con un requisito di corrispondenza fuzzy. Utilizza
ANDgli operatori per verificare che tre campi (FullName, Data di nascitaDOB) eAddress— corrispondano esattamente tra i record. Consente inoltre piccole variazioni nelInternalIDcampo utilizzando una distanza di Levenshtein di.1La distanza Levenshtein misura il numero minimo di modifiche a un solo carattere necessarie per cambiare una stringa in un'altra. Una distanza di 1 significaInternalIDsche corrisponderà a quelle differenze di un solo carattere (ad esempio un singolo errore di battitura, cancellazione o inserimento). Questa combinazione di condizioni consente di identificare i record che molto probabilmente rappresentano la stessa entità, anche in presenza di piccole discrepanze nell'identificatore.Exact(FullName) AND Exact(DOB) AND Exact(Address) and Levenshtein(InternalID, 1) -
Scegli Next (Successivo).
-
-
Per il passaggio 3: specificare l'output e il formato dei dati:
-
Per Destinazione e formato di output dei dati, scegli la posizione Amazon S3 per l'output dei dati e se il formato dei dati sarà Normalizzato o Dati originali.
-
Per la crittografia, se scegli di personalizzare le impostazioni di crittografia, inserisci la AWS KMS chiave ARN.
-
Visualizza l'output generato dal sistema.
-
Per l'output dei dati, decidi quali campi desideri includere, nascondere o mascherare, quindi esegui le azioni consigliate in base ai tuoi obiettivi.
Il tuo obiettivo Azione consigliata Includi campi Mantieni lo stato di output come Incluso. Nascondi i campi (escludi dall'output) Scegli il campo Output, quindi scegli Nascondi. Maschera i campi Scegli il campo Output, quindi scegli Output hash. Ripristina le impostazioni precedenti Scegliere Reimposta. -
Scegli Next (Successivo).
-
-
Per il passaggio 4: rivedi e crea:
-
Rivedi le selezioni effettuate per i passaggi precedenti e modificale se necessario.
-
Scegli Create and run (Crea ed esegui).
Viene visualizzato un messaggio che indica che il flusso di lavoro corrispondente è stato creato e che il lavoro è iniziato.
-
-
Nella pagina dei dettagli del flusso di lavoro corrispondente, nella scheda Metriche, visualizza quanto segue in Metriche dell'ultimo lavoro:
-
L'ID del lavoro.
-
Lo stato del processo del flusso di lavoro corrispondente: in coda, in corso, completato , non riuscito
-
Il tempo di completamento del processo del flusso di lavoro.
-
Il numero di record elaborati.
-
Il numero di record non elaborati.
-
Gli ID di corrispondenza univoci generati.
-
Il numero di record di input.
È inoltre possibile visualizzare le metriche dei processi corrispondenti ai processi del flusso di lavoro eseguiti in precedenza nella cronologia dei lavori.
-
-
Una volta completato il job del flusso di lavoro corrispondente (lo stato è completato), puoi accedere alla scheda Output dei dati e quindi selezionare la tua sede Amazon S3 per visualizzare i risultati.
-
(Solo tipo di elaborazione manuale) Se hai creato un flusso di lavoro Rule-based corrispondente con il tipo di elaborazione manuale, puoi eseguire il flusso di lavoro corrispondente in qualsiasi momento scegliendo Esegui flusso di lavoro nella pagina dei dettagli del flusso di lavoro corrispondente.
-
(Solo tipo di elaborazione automatica) Se la tabella dati ha una colonna DELETE, allora:
-
I record impostati
truenella colonna DELETE vengono eliminati. -
I record impostati
falsenella colonna DELETE vengono inseriti in S3.
Per ulteriori informazioni, consulta Fase 1: Preparare tabelle di dati di prime parti.
-
-
- API
-
Per creare un flusso di lavoro di corrispondenza basato su regole con Avanzata tipo di regola utilizzando l'API
Nota
Per impostazione predefinita, il flusso di lavoro utilizza l'elaborazione standard (batch). Per utilizzare l'elaborazione incrementale (automatica), è necessario configurarla in modo esplicito.
-
Apri un terminale o un prompt dei comandi per effettuare la richiesta API.
-
Crea una richiesta POST al seguente endpoint:
/matchingworkflows -
Nell'intestazione della richiesta, imposta su. Content-type application/json
Nota
Per un elenco completo dei linguaggi di programmazione supportati, consulta l'AWS Entity Resolution API Reference .
-
Per il corpo della richiesta, fornisci i seguenti parametri JSON richiesti:
{ "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": "" }stringDove:
-
workflowName(obbligatorio) — Deve essere univoco e deve corrispondere al pattern [a-z A-Z _0-9-] * -
inputSourceConfig(obbligatorio) — Elenco di 1—20 configurazioni della sorgente di ingresso -
outputSourceConfig(obbligatorio) — Esattamente una configurazione della sorgente di uscita -
resolutionTechniques(obbligatorio) — Impostato su «RULE_MATCHING» come ResolutionType per la corrispondenza basata su regole -
roleArn(obbligatorio) — ARN del ruolo IAM per l'esecuzione del flusso di lavoro -
ruleConditionProperties(obbligatorio) — Elenco delle condizioni della regola e nome della regola corrispondente.
I parametri opzionali includono:
-
description— Fino a 255 caratteri -
incrementalRunConfig— Configurazione incrementale del tipo di esecuzione -
tags— Fino a 200 coppie chiave-valore
-
-
(Facoltativo) Per utilizzare l'elaborazione incrementale anziché l'elaborazione standard (batch) predefinita, aggiungi il seguente parametro al corpo della richiesta:
"incrementalRunConfig": { "incrementalRunType": "AUTOMATIC" } -
Inviare la richiesta .
-
In caso di successo, riceverai una risposta con il codice di stato 200 e un corpo JSON contenente:
{ "workflowArn": "string", "workflowName": "string", // Plus all configured workflow details } -
Se la chiamata non va a buon fine, potresti ricevere uno dei seguenti errori:
-
400: ConflictException se il nome del flusso di lavoro esiste già
-
400 — ValidationException se l'input non supera la convalida
-
402 — ExceedsLimitException se i limiti dell'account vengono superati
-
403 — AccessDeniedException se non disponi di un accesso sufficiente
-
429 — ThrottlingException se la richiesta è stata limitata
-
500 — InternalServerException se c'è un errore interno del servizio
-
-