Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Crear un flujo de trabajo coincidente basado en reglas con el tipo de regla avanzada
Requisitos previos
Antes de crear un flujo de trabajo coincidente basado en reglas, debes:
-
Cree una asignación de esquemas. Para obtener más información, consulte Crear un esquema de mapeo.
-
Si utiliza los perfiles de clientes de Connect como destino de salida, asegúrese de tener configurados los permisos adecuados.
El siguiente procedimiento muestra cómo crear un flujo de trabajo coincidente basado en reglas con el tipo de regla avanzada mediante la AWS Entity Resolution consola o la CreateMatchingWorkflow API.
- Console
-
Para crear un flujo de trabajo coincidente basado en reglas con Avanzado tipo de regla mediante la consola
-
Inicie sesión en Consola de administración de AWS y abra la AWS Entity Resolution consola en https://console.aws.amazon.com/entityresolution/
. -
En el panel de navegación izquierdo, en Flujos de trabajo, seleccione Coincidencia.
-
En la página Flujos de trabajo coincidentes, en la esquina superior derecha, elige Crear flujo de trabajo coincidente.
-
Para el paso 1: especificar los detalles del flujo de trabajo coincidente, haga lo siguiente:
-
Introduzca un nombre de flujo de trabajo coincidente y una descripción opcional.
-
Para la entrada de datos, elija una AWS Glue base de datos Región de AWS, la AWS Glue tabla y, a continuación, la asignación de esquemas correspondiente.
Puede agregar hasta 19 entradas de datos.
nota
Para utilizar las reglas avanzadas, las asignaciones de esquemas deben cumplir los siguientes requisitos:
-
Cada campo de entrada debe asignarse a una clave de coincidencia única, a menos que los campos estén agrupados.
-
Si los campos de entrada están agrupados, pueden compartir la misma clave de coincidencia.
Por ejemplo, la siguiente asignación de esquemas sería válida para las reglas avanzadas:
firstName: { matchKey: 'name', groupName: 'name' }lastName: { matchKey: 'name', groupName: 'name' }En este caso, los
lastNamecamposfirstNamey se agrupan y comparten la misma clave de coincidencia de nombre, lo cual está permitido.Revisa las asignaciones de esquemas y actualízalas para que sigan esta regla de coincidencia uno a uno, a menos que los campos estén agrupados correctamente, para poder usar las reglas avanzadas.
-
Si tu tabla de datos tiene una columna DELETE, el tipo de mapeo de esquema debe ser
Stringy no puedes tener un signo y.matchKeygroupName
-
-
La opción Normalizar datos está seleccionada de forma predeterminada, de modo que las entradas de datos se normalizan antes de la coincidencia. Si no desea normalizar los datos, desactive la opción Normalizar datos.
nota
La normalización solo se admite en los siguientes escenarios en Crear mapeo de esquemas:
-
Si se agrupan los siguientes subtipos de nombre: nombre, segundo nombre y apellido.
-
Si se agrupan los siguientes subtipos de direcciones: dirección 1 , dirección 2, dirección 3, ciudad, estado, país , código postal.
-
Si se agrupan los siguientes subtipos de teléfono: número de teléfono, código de país del teléfono.
-
-
Para especificar los permisos de acceso al servicio, elija una opción y realice la acción recomendada.
Opción Acción recomendada Crear y usar un nuevo rol de servicio -
AWS Entity Resolution crea un rol de servicio con la política requerida para esta tabla.
-
El Nombre del rol de servicio predeterminado es
entityresolution-matching-workflow-<timestamp>. -
Debe tener permisos para crear roles y adjuntar políticas.
-
Si los datos de entrada están cifrados, puede elegir la opción Estos datos se cifran con una clave de KMS y, a continuación, introducir una AWS KMS clave que se utilizará para descifrar los datos introducidos.
Usar un rol de servicio existente -
Seleccione un Nombre de rol de servicio existente en la lista desplegable.
Si tiene permisos de listas de roles, se mostrará la lista de roles.
Si no tiene permisos de listas de roles, puede ingresar el nombre de recurso de Amazon (ARN) del rol que desea usar.
Si no hay ningún rol de servicio existente, la opción Usar un rol de servicio existente no estará disponible.
-
Consulte el rol de servicio mediante la elección del enlace externo Ver en IAM.
De forma predeterminada, AWS Entity Resolution no intenta actualizar la política de roles existente para agregar los permisos necesarios.
-
-
(Opcional) Para habilitar las etiquetas del recurso, elija Agregar nueva etiqueta y, a continuación, introduzca el par clave y valor.
-
Elija Siguiente.
-
-
Para el paso 2: elige la técnica de coincidencia:
-
Para el método de coincidencia, elige el método de Rule-based coincidencia.
-
Para el tipo de regla, elija Avanzado.
-
En Cadencia de procesamiento, seleccione una de las siguientes opciones.
-
Seleccione Manual para ejecutar un flujo de trabajo bajo demanda para realizar una actualización masiva
-
Seleccione Automático para ejecutar un flujo de trabajo tan pronto como haya nuevos datos en su bucket de S3
nota
Si eliges Automático, asegúrate de tener activadas EventBridge las notificaciones de Amazon para tu bucket de S3. Para obtener instrucciones sobre cómo habilitar Amazon EventBridge con la consola S3, consulte Habilitar Amazon EventBridge en la guía del usuario de Amazon S3.
-
-
Para ver las reglas coincidentes, introduzca un nombre de regla y, a continuación, cree la condición de la regla eligiendo las funciones y los operadores coincidentes adecuados de la lista desplegable en función de su objetivo.
Puedes crear hasta 25 reglas.
nota
AWS Entity Resolution también admite la coincidencia transitiva, que procesa los registros de todos los niveles de reglas para conectar los grupos de coincidencias de forma transitiva. La coincidencia transitiva está disponible como función. API-only Cuando la coincidencia transitiva está habilitada, no se admite el modificador EmptyValues =Ignorar. Para obtener más información, consulte Uso de la coincidencia transitiva.
Debe combinar una función de coincidencia difusa (Cosine, Levenshtein o Soundex) con una función de coincidencia exacta (Exact,) mediante el operador AND. ExactManyToMany
Puedes usar la siguiente tabla como ayuda para decidir qué tipo de función u operador quieres usar, según tu objetivo.
Su objetivo Función u operador recomendado Modificador opcional recomendado Ventajas Haga coincidir cadenas idénticas con datos precisos, pero no coincidan con valores vacíos. Exacto EmptyValues=Proceso Haga coincidir cadenas idénticas con datos precisos e ignore los valores vacíos. Exacto ( matchKey)EmptyValues=Ignorar Haga coincidir varios registros entre las claves de coincidencia. Adecuado para combinaciones flexibles. Límite: 15 combinaciones de teclas ExactManyToMany( matchKey,matchKey, ...)n/a Mida la similitud entre las representaciones numéricas de los datos, pero no concuerde con valores vacíos. Adecuado para texto, números o una combinación de ambos. Coseno EmptyValues=Proceso Simple, eficiente.
Funciona bien con textos largos cuando se combina con la TF-IDF ponderación.
Es bueno para hacer coincidencias exactas basadas en palabras.
Mida la similitud entre las representaciones numéricas de los datos e ignore los valores vacíos. Coseno ( matchKey,threshold,...)EmptyValues=Ignorar Maneja bien los errores tipográficos, ortográficos y transposiciones.
Efectivo en una amplia gama de tipos de PII.
Ideal para cadenas cortas (por ejemplo, nombres o números de teléfono).
Cuenta el número mínimo de cambios necesarios para cambiar una palabra por otra, pero no concuerdes con valores vacíos. Adecuado para textos con ligeras diferencias ortográficas. Levenshtein EmptyValues=Proceso Cuenta el número mínimo de cambios necesarios para cambiar una palabra por otra e ignora los valores vacíos. Levenshtein ( matchKey,,threshold...)EmptyValues=Ignorar Compara y combina cadenas de texto en función de su similitud con el sonido, pero no las comparas con valores vacíos. Adecuado para texto con variaciones en la ortografía o la pronunciación. Soundex EmptyValues=Proceso Eficaz para la coincidencia fonética, identificando palabras que suenan similares.
Rápido y económico desde el punto de vista computacional.
Ideal para hacer coincidir nombres con pronunciaciones similares pero con ortografías diferentes.
Compara y combina cadenas de texto en función de su similitud e ignora los valores vacíos. Soundex () matchKeyEmptyValues=Ignorar Combina funciones. AND n/a Funciones separadas. OR n/a Agrupe las condiciones para crear condiciones anidadas. (…) n/a ejemplo Condición de regla que coincide en los números de teléfono y el correo electrónico
El siguiente es un ejemplo de una condición de regla que hace coincidir los registros de números de teléfono (clave de coincidencia de teléfono) y direcciones de correo electrónico (clave de coincidencia de dirección de correo electrónico):
Exact(Phone,EmptyValues=Process) AND Levenshtein("Email address",2)
La tecla de coincidencia telefónica utiliza la función de coincidencia exacta para hacer coincidir cadenas idénticas. La tecla Phone Match procesa los valores vacíos al compararlos mediante el modificador EmptyValues =Process.
La clave de coincidencia de direcciones de correo electrónico utiliza la función de coincidencia de Levenshtein para hacer coincidir los datos con errores ortográficos utilizando el umbral predeterminado del algoritmo de distancia de Levenshtein de 2. La clave de coincidencia de correo electrónico no utiliza ningún modificador opcional.
El operador AND combina la función de coincidencia exacta y la función de coincidencia de Levenshtein.
ejemplo Condición de regla que se utiliza ExactManyToMany para realizar la coincidencia de claves
A continuación se muestra un ejemplo de una condición de regla que hace HomeAddress coincidir los registros de tres campos de direcciones (clave de BillingAddress coincidencia, clave de ShippingAddress coincidencia y clave de coincidencia) para encontrar posibles coincidencias comprobando si alguna de ellas tiene valores idénticos.
El
ExactManyToManyoperador evalúa todas las combinaciones posibles de los campos de dirección especificados para identificar coincidencias exactas entre dos o más direcciones. Por ejemplo, detectaría si las tres direccionesHomeAddresscoinciden con elBillingAddressoShippingAddresso si las tres direcciones coinciden exactamente.ExactManyToMany(HomeAddress, BillingAddress, ShippingAddress)ejemplo Condición de regla que usa la agrupación en clústeres
En la comparación avanzada basada en reglas con condiciones difusas, el sistema primero agrupa los registros en clústeres en función de las coincidencias exactas. Una vez que se forman estos clústeres iniciales, el sistema aplica filtros de coincidencia difusa para identificar coincidencias adicionales dentro de cada clúster. Para obtener un rendimiento óptimo, debe seleccionar las condiciones de coincidencia exactas en función de sus patrones de datos para crear clústeres iniciales bien definidos.
El siguiente es un ejemplo de una condición de regla que combina varias coincidencias exactas con un requisito de coincidencia parcial. Utiliza
ANDoperadores para comprobar que tres campos (fecha de nacimiento (DOB) yAddress— coinciden exactamente entre los registros.FullNameTambién permite pequeñas variaciones en elInternalIDcampo utilizando una distancia de Levenshtein de.1La distancia de Levenshtein mide el número mínimo de ediciones de un solo carácter necesarias para cambiar una cadena por otra. Una distancia de 1 significaInternalIDsque coincidirá con una diferencia de solo un carácter (por ejemplo, un solo error tipográfico, una eliminación o una inserción). Esta combinación de condiciones ayuda a identificar los registros que es muy probable que representen a la misma entidad, incluso si hay pequeñas discrepancias en el identificador.Exact(FullName) AND Exact(DOB) AND Exact(Address) and Levenshtein(InternalID, 1) -
Elija Siguiente.
-
-
Para el paso 3: especifique la salida y el formato de los datos:
-
Para el destino y el formato de la salida de datos, elija la ubicación de Amazon S3 para la salida de datos y si el formato de datos será de datos normalizados o de datos originales.
-
Para el cifrado, si elige personalizar la configuración de cifrado, introduzca la AWS KMS clave ARN.
-
Vea el resultado generado por el sistema.
-
Para la salida de datos, decida qué campos quiere incluir, ocultar o enmascarar y, a continuación, tome las medidas recomendadas en función de sus objetivos.
Su objetivo Acción recomendada Incluye campos Mantenga el estado de salida como Incluido. Ocultar campos (excluir de la salida) Seleccione el campo Salida y, a continuación, elija Ocultar. Enmascarar campos Elija el campo Salida y, a continuación, elija Salida hash. Restablece la configuración anterior Elija Restablecer. -
Elija Siguiente.
-
-
Para el paso 4: Revisa y crea:
-
Revise las selecciones que realizó en los pasos anteriores y edítelas si es necesario.
-
Elija Create and run.
Aparece un mensaje que indica que se ha creado el flujo de trabajo correspondiente y que el trabajo se ha iniciado.
-
-
En la página de detalles del flujo de trabajo correspondiente, en la pestaña Métricas, consulta lo siguiente en Métricas del último trabajo:
-
El identificador del trabajo.
-
El estado del trabajo de flujo de trabajo correspondiente: En cola, En curso, Completado , Fallido
-
El tiempo de finalización del trabajo de flujo de trabajo.
-
El número de registros procesados.
-
El número de registros no procesados.
-
Los identificadores de coincidencia únicos generados.
-
El número de registros de entrada.
También puedes ver las métricas de los trabajos para ver si coinciden con los trabajos del flujo de trabajo que se han ejecutado anteriormente en el historial de trabajos.
-
-
Cuando se complete el trabajo del flujo de trabajo correspondiente (el estado es Completado), puede ir a la pestaña de salida de datos y, a continuación, seleccionar su ubicación de Amazon S3 para ver los resultados.
-
(Solo para el tipo de procesamiento manual) Si ha creado un flujo de trabajo Rule-based coincidente con el tipo de procesamiento manual, puede ejecutar el flujo de trabajo correspondiente en cualquier momento seleccionando Ejecutar flujo de trabajo en la página de detalles del flujo de trabajo correspondiente.
-
(Solo para el tipo de procesamiento automático) Si la tabla de datos tiene una columna ELIMINAR, entonces:
-
Se eliminan los registros establecidos
trueen la columna ELIMINAR. -
Los registros establecidos
falseen la columna DELETE se introducen en S3.
Para obtener más información, consulte Paso 1: Prepare tablas de datos propias.
-
-
- API
-
Para crear un flujo de trabajo coincidente basado en reglas con el Avanzado tipo de regla mediante la API
nota
De forma predeterminada, el flujo de trabajo utiliza el procesamiento estándar (por lotes). Para utilizar el procesamiento incremental (automático), debe configurarlo de forma explícita.
-
Abre una terminal o una línea de comandos para realizar la solicitud a la API.
-
Crea una solicitud POST para el siguiente punto final:
/matchingworkflows -
En el encabezado de la solicitud, Content-type defina como application/json.
nota
Para obtener una lista completa de los lenguajes de programación compatibles, consulta la referencia de la AWS Entity Resolution API .
-
Para el cuerpo de la solicitud, proporciona los siguientes parámetros JSON obligatorios:
{ "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": "" }stringDonde:
-
workflowName(obligatorio): debe ser único y debe coincidir con un patrón de entre 1 y 255 caracteres [a-z A-Z _0-9-] * -
inputSourceConfig(obligatorio): lista de 1 a 20 configuraciones de fuentes de entrada -
outputSourceConfig(obligatorio): exactamente una configuración de fuente de salida -
resolutionTechniques(obligatorio): defina «RULE_MATCHING» como el tipo de resolución para la comparación basada en reglas -
roleArn(obligatorio): ARN del rol de IAM para la ejecución del flujo de trabajo -
ruleConditionProperties(obligatorio): lista de las condiciones de la regla y el nombre de la regla correspondiente.
Los parámetros opcionales incluyen:
-
description— Hasta 255 caracteres -
incrementalRunConfig— Configuración de tipo de ejecución incremental -
tags— Hasta 200 pares clave-valor
-
-
(Opcional) Para utilizar el procesamiento incremental en lugar del procesamiento estándar (por lotes) predeterminado, añada el siguiente parámetro al cuerpo de la solicitud:
"incrementalRunConfig": { "incrementalRunType": "AUTOMATIC" } -
Envíe la solicitud .
-
Si se realiza correctamente, recibirás una respuesta con el código de estado 200 y un cuerpo JSON que contiene:
{ "workflowArn": "string", "workflowName": "string", // Plus all configured workflow details } -
Si la llamada no se realiza correctamente, es posible que recibas uno de los siguientes errores:
-
400: ConflictException si el nombre del flujo de trabajo ya existe
-
400: ValidationException si la entrada no se valida
-
402 — ExceedsLimitException si se superan los límites de la cuenta
-
403: AccessDeniedException si no tienes suficiente acceso
-
429 — ThrottlingException si la solicitud se ha limitado
-
500: InternalServerException si hay una falla en el servicio interno
-
-