EntityResolution **************** Client ====== class EntityResolution.Client A low-level client representing AWS EntityResolution Welcome to the *Entity Resolution API Reference*. Entity Resolution is an Amazon Web Services service that provides pre-configured entity resolution capabilities that enable developers and analysts at advertising and marketing companies to build an accurate and complete view of their consumers. With Entity Resolution, you can match source records containing consumer identifiers, such as name, email address, and phone number. This is true even when these records have incomplete or conflicting identifiers. For example, Entity Resolution can effectively match a source record from a customer relationship management (CRM) system with a source record from a marketing system containing campaign information. To learn more about Entity Resolution concepts, procedures, and best practices, see the Entity Resolution User Guide. import boto3 client = boto3.client('entityresolution') These are the available methods: * add_policy_statement * batch_delete_unique_id * can_paginate * close * create_id_mapping_workflow * create_id_namespace * create_matching_workflow * create_schema_mapping * delete_id_mapping_workflow * delete_id_namespace * delete_matching_workflow * delete_policy_statement * delete_schema_mapping * generate_match_id * get_id_mapping_job * get_id_mapping_workflow * get_id_namespace * get_match_id * get_matching_job * get_matching_workflow * get_paginator * get_policy * get_provider_service * get_schema_mapping * get_waiter * list_id_mapping_jobs * list_id_mapping_workflows * list_id_namespaces * list_matching_jobs * list_matching_workflows * list_provider_services * list_schema_mappings * list_tags_for_resource * put_policy * start_id_mapping_job * start_matching_job * tag_resource * untag_resource * update_id_mapping_workflow * update_id_namespace * update_matching_workflow * update_schema_mapping Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListIdMappingJobs * ListIdMappingWorkflows * ListIdNamespaces * ListMatchingJobs * ListMatchingWorkflows * ListProviderServices * ListSchemaMappings EntityResolution / Paginator / ListMatchingJobs ListMatchingJobs **************** class EntityResolution.Paginator.ListMatchingJobs paginator = client.get_paginator('list_matching_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_matching_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( workflowName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow to be retrieved. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'jobs': [ { 'jobId': 'string', 'status': 'RUNNING'|'SUCCEEDED'|'FAILED'|'QUEUED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **jobs** *(list) --* A list of "JobSummary" objects, each of which contain the ID, status, start time, and end time of a job. * *(dict) --* An object containing the "jobId", "status", "startTime", and "endTime" of a job. * **jobId** *(string) --* The ID of the job. * **status** *(string) --* The current status of the job. * **startTime** *(datetime) --* The time at which the job was started. * **endTime** *(datetime) --* The time at which the job has finished. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListIdMappingWorkflows ListIdMappingWorkflows ********************** class EntityResolution.Paginator.ListIdMappingWorkflows paginator = client.get_paginator('list_id_mapping_workflows') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_id_mapping_workflows()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'workflowSummaries': [ { 'workflowName': 'string', 'workflowArn': 'string', 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **workflowSummaries** *(list) --* A list of "IdMappingWorkflowSummary" objects. * *(dict) --* A list of "IdMappingWorkflowSummary" objects, each of which contain the fields "WorkflowName", "WorkflowArn", "CreatedAt", and "UpdatedAt". * **workflowName** *(string) --* The name of the workflow. * **workflowArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "IdMappingWorkflow". * **createdAt** *(datetime) --* The timestamp of when the workflow was created. * **updatedAt** *(datetime) --* The timestamp of when the workflow was last updated. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListIdMappingJobs ListIdMappingJobs ***************** class EntityResolution.Paginator.ListIdMappingJobs paginator = client.get_paginator('list_id_mapping_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_id_mapping_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( workflowName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow to be retrieved. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'jobs': [ { 'jobId': 'string', 'status': 'RUNNING'|'SUCCEEDED'|'FAILED'|'QUEUED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **jobs** *(list) --* A list of "JobSummary" objects. * *(dict) --* An object containing the "jobId", "status", "startTime", and "endTime" of a job. * **jobId** *(string) --* The ID of the job. * **status** *(string) --* The current status of the job. * **startTime** *(datetime) --* The time at which the job was started. * **endTime** *(datetime) --* The time at which the job has finished. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListIdNamespaces ListIdNamespaces **************** class EntityResolution.Paginator.ListIdNamespaces paginator = client.get_paginator('list_id_namespaces') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_id_namespaces()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'idNamespaceSummaries': [ { 'idNamespaceName': 'string', 'idNamespaceArn': 'string', 'description': 'string', 'idMappingWorkflowProperties': [ { 'idMappingType': 'PROVIDER'|'RULE_BASED' }, ], 'type': 'SOURCE'|'TARGET', 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1) }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **idNamespaceSummaries** *(list) --* A list of "IdNamespaceSummaries" objects. * *(dict) --* A summary of ID namespaces. * **idNamespaceName** *(string) --* The name of the ID namespace. * **idNamespaceArn** *(string) --* The Amazon Resource Name (ARN) of the ID namespace. * **description** *(string) --* The description of the ID namespace. * **idMappingWorkflowProperties** *(list) --* An object which defines any additional configurations required by the ID mapping workflow. * *(dict) --* The settings for the ID namespace for the ID mapping workflow job. * **idMappingType** *(string) --* The type of ID mapping. * **type** *(string) --* The type of ID namespace. There are two types: "SOURCE" and "TARGET". The "SOURCE" contains configurations for "sourceId" data that will be processed in an ID mapping workflow. The "TARGET" contains a configuration of "targetId" which all "sourceIds" will resolve to. * **createdAt** *(datetime) --* The timestamp of when the ID namespace was created. * **updatedAt** *(datetime) --* The timestamp of when the ID namespace was last updated. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListSchemaMappings ListSchemaMappings ****************** class EntityResolution.Paginator.ListSchemaMappings paginator = client.get_paginator('list_schema_mappings') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_schema_mappings()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'schemaList': [ { 'schemaName': 'string', 'schemaArn': 'string', 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1), 'hasWorkflows': True|False }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **schemaList** *(list) --* A list of "SchemaMappingSummary" objects, each of which contain the fields "SchemaName", "SchemaArn", "CreatedAt", "UpdatedAt". * *(dict) --* An object containing "schemaName", "schemaArn", "createdAt", "updatedAt", and "hasWorkflows". * **schemaName** *(string) --* The name of the schema. * **schemaArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "SchemaMapping". * **createdAt** *(datetime) --* The timestamp of when the "SchemaMapping" was created. * **updatedAt** *(datetime) --* The timestamp of when the "SchemaMapping" was last updated. * **hasWorkflows** *(boolean) --* Specifies whether the schema mapping has been applied to a workflow. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListProviderServices ListProviderServices ******************** class EntityResolution.Paginator.ListProviderServices paginator = client.get_paginator('list_provider_services') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_provider_services()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( providerName='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **providerName** (*string*) -- The name of the provider. This name is typically the company name. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'providerServiceSummaries': [ { 'providerServiceArn': 'string', 'providerName': 'string', 'providerServiceDisplayName': 'string', 'providerServiceName': 'string', 'providerServiceType': 'ASSIGNMENT'|'ID_MAPPING' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **providerServiceSummaries** *(list) --* A list of "ProviderServices" objects. * *(dict) --* A list of "ProviderService" objects, each of which contain the fields "providerName", "providerServiceArn", "providerServiceName", and "providerServiceType". * **providerServiceArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "providerService". * **providerName** *(string) --* The name of the provider. This name is typically the company name. * **providerServiceDisplayName** *(string) --* The display name of the provider service. * **providerServiceName** *(string) --* The name of the product that the provider service provides. * **providerServiceType** *(string) --* The type of provider service. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Paginator / ListMatchingWorkflows ListMatchingWorkflows ********************* class EntityResolution.Paginator.ListMatchingWorkflows paginator = client.get_paginator('list_matching_workflows') paginate(**kwargs) Creates an iterator that will paginate through responses from "EntityResolution.Client.list_matching_workflows()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'workflowSummaries': [ { 'workflowName': 'string', 'workflowArn': 'string', 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1), 'resolutionType': 'RULE_MATCHING'|'ML_MATCHING'|'PROVIDER' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **workflowSummaries** *(list) --* A list of "MatchingWorkflowSummary" objects, each of which contain the fields "workflowName", "workflowArn", "resolutionType", "createdAt", and "updatedAt". * *(dict) --* A list of "MatchingWorkflowSummary" objects, each of which contain the fields "workflowName", "workflowArn", "resolutionType", "createdAt", "updatedAt". * **workflowName** *(string) --* The name of the workflow. * **workflowArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "MatchingWorkflow". * **createdAt** *(datetime) --* The timestamp of when the workflow was created. * **updatedAt** *(datetime) --* The timestamp of when the workflow was last updated. * **resolutionType** *(string) --* The method that has been specified for data matching, either using matching provided by Entity Resolution or through a provider service. * **NextToken** *(string) --* A token to resume pagination. EntityResolution / Client / get_id_mapping_workflow get_id_mapping_workflow *********************** EntityResolution.Client.get_id_mapping_workflow(**kwargs) Returns the "IdMappingWorkflow" with a given name, if it exists. See also: AWS API Documentation **Request Syntax** response = client.get_id_mapping_workflow( workflowName='string' ) Parameters: **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow. Return type: dict Returns: **Response Syntax** { 'workflowName': 'string', 'workflowArn': 'string', 'description': 'string', 'inputSourceConfig': [ { 'inputSourceARN': 'string', 'schemaName': 'string', 'type': 'SOURCE'|'TARGET' }, ], 'outputSourceConfig': [ { 'outputS3Path': 'string', 'KMSArn': 'string' }, ], 'idMappingTechniques': { 'idMappingType': 'PROVIDER'|'RULE_BASED', 'ruleBasedProperties': { 'rules': [ { 'ruleName': 'string', 'matchingKeys': [ 'string', ] }, ], 'ruleDefinitionType': 'SOURCE'|'TARGET', 'attributeMatchingModel': 'ONE_TO_ONE'|'MANY_TO_MANY', 'recordMatchingModel': 'ONE_SOURCE_TO_ONE_TARGET'|'MANY_SOURCE_TO_ONE_TARGET' }, 'providerProperties': { 'providerServiceArn': 'string', 'providerConfiguration': {...}|[...]|123|123.4|'string'|True|None, 'intermediateSourceConfiguration': { 'intermediateS3Path': 'string' } } }, 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1), 'roleArn': 'string', 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **workflowName** *(string) --* The name of the workflow. * **workflowArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "IdMappingWorkflow" . * **description** *(string) --* A description of the workflow. * **inputSourceConfig** *(list) --* A list of "InputSource" objects, which have the fields "InputSourceARN" and "SchemaName". * *(dict) --* An object containing "inputSourceARN", "schemaName", and "type". * **inputSourceARN** *(string) --* An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table. * **schemaName** *(string) --* The name of the schema to be retrieved. * **type** *(string) --* The type of ID namespace. There are two types: "SOURCE" and "TARGET". The "SOURCE" contains configurations for "sourceId" data that will be processed in an ID mapping workflow. The "TARGET" contains a configuration of "targetId" which all "sourceIds" will resolve to. * **outputSourceConfig** *(list) --* A list of "OutputSource" objects, each of which contains fields "outputS3Path" and "KMSArn". * *(dict) --* The output source for the ID mapping workflow. * **outputS3Path** *(string) --* The S3 path to which Entity Resolution will write the output table. * **KMSArn** *(string) --* Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. * **idMappingTechniques** *(dict) --* An object which defines the ID mapping technique and any additional configurations. * **idMappingType** *(string) --* The type of ID mapping. * **ruleBasedProperties** *(dict) --* An object which defines any additional configurations required by rule-based matching. * **rules** *(list) --* The rules that can be used for ID mapping. * *(dict) --* An object containing the "ruleName" and "matchingKeys". * **ruleName** *(string) --* A name for the matching rule. * **matchingKeys** *(list) --* A list of "MatchingKeys". The "MatchingKeys" must have been defined in the "SchemaMapping". Two records are considered to match according to this rule if all of the "MatchingKeys" match. * *(string) --* * **ruleDefinitionType** *(string) --* The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible. * **attributeMatchingModel** *(string) --* The comparison type. You can either choose "ONE_TO_ONE" or "MANY_TO_MANY" as the "attributeMatchingModel". If you choose "ONE_TO_ONE", the system can only match attributes if the sub-types are an exact match. For example, for the "Email" attribute type, the system will only consider it a match if the value of the "Email" field of Profile A matches the value of the "Email" field of Profile B. If you choose "MANY_TO_MANY", the system can match attributes across the sub-types of an attribute type. For example, if the value of the "Email" field of Profile A matches the value of the "BusinessEmail" field of Profile B, the two profiles are matched on the "Email" attribute type. * **recordMatchingModel** *(string) --* The type of matching record that is allowed to be used in an ID mapping workflow. If the value is set to "ONE_SOURCE_TO_ONE_TARGET", only one record in the source can be matched to the same record in the target. If the value is set to "MANY_SOURCE_TO_ONE_TARGET", multiple records in the source can be matched to one record in the target. * **providerProperties** *(dict) --* An object which defines any additional configurations required by the provider service. * **providerServiceArn** *(string) --* The ARN of the provider service. * **providerConfiguration** (*document*) -- The required configuration fields to use with the provider service. * **intermediateSourceConfiguration** *(dict) --* The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently. * **intermediateS3Path** *(string) --* The Amazon S3 location (bucket and prefix). For example: "s3://provider_bucket/DOC-EXAMPLE-BUCKET" * **createdAt** *(datetime) --* The timestamp of when the workflow was created. * **updatedAt** *(datetime) --* The timestamp of when the workflow was last updated. * **roleArn** *(string) --* The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf. * **tags** *(dict) --* The tags used to organize, track, or control access for this resource. * *(string) --* * *(string) --* **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / put_policy put_policy ********** EntityResolution.Client.put_policy(**kwargs) Updates the resource-based policy. See also: AWS API Documentation **Request Syntax** response = client.put_policy( arn='string', token='string', policy='string' ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource for which the policy needs to be updated. * **token** (*string*) -- A unique identifier for the current revision of the policy. * **policy** (*string*) -- **[REQUIRED]** The resource-based policy. Warning: If you set the value of the "effect" parameter in the "policy" to "Deny" for the "PutPolicy" operation, you must also set the value of the "effect" parameter to "Deny" for the "AddPolicyStatement" operation. Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'token': 'string', 'policy': 'string' } **Response Structure** * *(dict) --* * **arn** *(string) --* The Entity Resolution resource ARN. * **token** *(string) --* A unique identifier for the current revision of the policy. * **policy** *(string) --* The resource-based policy. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ConflictException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / get_paginator get_paginator ************* EntityResolution.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. EntityResolution / Client / add_policy_statement add_policy_statement ******************** EntityResolution.Client.add_policy_statement(**kwargs) Adds a policy statement object. To retrieve a list of existing policy statements, use the "GetPolicy" API. See also: AWS API Documentation **Request Syntax** response = client.add_policy_statement( arn='string', statementId='string', effect='Allow'|'Deny', action=[ 'string', ], principal=[ 'string', ], condition='string' ) Parameters: * **arn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource that will be accessed by the principal. * **statementId** (*string*) -- **[REQUIRED]** A statement identifier that differentiates the statement from others in the same policy. * **effect** (*string*) -- **[REQUIRED]** Determines whether the permissions specified in the policy are to be allowed ( "Allow") or denied ( "Deny"). Warning: If you set the value of the "effect" parameter to "Deny" for the "AddPolicyStatement" operation, you must also set the value of the "effect" parameter in the "policy" to "Deny" for the "PutPolicy" operation. * **action** (*list*) -- **[REQUIRED]** The action that the principal can use on the resource. For example, "entityresolution:GetIdMappingJob", "entityresolution:GetMatchingJob". * *(string) --* * **principal** (*list*) -- **[REQUIRED]** The Amazon Web Services service or Amazon Web Services account that can access the resource defined as ARN. * *(string) --* * **condition** (*string*) -- A set of condition keys that you can use in key policies. Return type: dict Returns: **Response Syntax** { 'arn': 'string', 'token': 'string', 'policy': 'string' } **Response Structure** * *(dict) --* * **arn** *(string) --* The Amazon Resource Name (ARN) of the resource that will be accessed by the principal. * **token** *(string) --* A unique identifier for the current revision of the policy. * **policy** *(string) --* The resource-based policy. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ConflictException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / update_schema_mapping update_schema_mapping ********************* EntityResolution.Client.update_schema_mapping(**kwargs) Updates a schema mapping. Note: A schema is immutable if it is being used by a workflow. Therefore, you can't update a schema mapping if it's associated with a workflow. See also: AWS API Documentation **Request Syntax** response = client.update_schema_mapping( schemaName='string', description='string', mappedInputFields=[ { 'fieldName': 'string', 'type': 'NAME'|'NAME_FIRST'|'NAME_MIDDLE'|'NAME_LAST'|'ADDRESS'|'ADDRESS_STREET1'|'ADDRESS_STREET2'|'ADDRESS_STREET3'|'ADDRESS_CITY'|'ADDRESS_STATE'|'ADDRESS_COUNTRY'|'ADDRESS_POSTALCODE'|'PHONE'|'PHONE_NUMBER'|'PHONE_COUNTRYCODE'|'EMAIL_ADDRESS'|'UNIQUE_ID'|'DATE'|'STRING'|'PROVIDER_ID'|'IPV4'|'IPV6'|'MAID', 'groupName': 'string', 'matchKey': 'string', 'subType': 'string', 'hashed': True|False }, ] ) Parameters: * **schemaName** (*string*) -- **[REQUIRED]** The name of the schema. There can't be multiple "SchemaMappings" with the same name. * **description** (*string*) -- A description of the schema. * **mappedInputFields** (*list*) -- **[REQUIRED]** A list of "MappedInputFields". Each "MappedInputField" corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching. * *(dict) --* A configuration object for defining input data fields in Entity Resolution. The "SchemaInputAttribute" specifies how individual fields in your input data should be processed and matched. * **fieldName** *(string) --* **[REQUIRED]** A string containing the field name. * **type** *(string) --* **[REQUIRED]** The type of the attribute, selected from a list of values. LiveRamp supports: "NAME" | "NAME_FIRST" | "NAME_MIDDLE" | "NAME_LAST" | "ADDRESS" | "ADDRESS_STREET1" | "ADDRESS_STREET2" | "ADDRESS_STREET3" | "ADDRESS_CITY" | "ADDRESS_STATE" | "ADDRESS_COUNTRY" | "ADDRESS_POSTALCODE" | "PHONE" | "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" | "PROVIDER_ID" TransUnion supports: "NAME" | "NAME_FIRST" | "NAME_LAST" | "ADDRESS" | "ADDRESS_CITY" | "ADDRESS_STATE" | "ADDRESS_COUNTRY" | "ADDRESS_POSTALCODE" | "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" | "IPV4" | "IPV6" | "MAID" Unified ID 2.0 supports: "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" Note: Normalization is only supported for "NAME", "ADDRESS", "PHONE", and "EMAIL_ADDRESS".If you want to normalize "NAME_FIRST", "NAME_MIDDLE", and "NAME_LAST", you must group them by assigning them to the "NAME" "groupName".If you want to normalize "ADDRESS_STREET1", "ADDRESS_STREET2", "ADDRESS_STREET3", "ADDRESS_CITY", "ADDRESS_STATE", "ADDRESS_COUNTRY", and "ADDRESS_POSTALCODE", you must group them by assigning them to the "ADDRESS" "groupName".If you want to normalize "PHONE_NUMBER" and "PHONE_COUNTRYCODE", you must group them by assigning them to the "PHONE" "groupName". * **groupName** *(string) --* A string that instructs Entity Resolution to combine several columns into a unified column with the identical attribute type. For example, when working with columns such as "NAME_FIRST", "NAME_MIDDLE", and "NAME_LAST", assigning them a common "groupName" will prompt Entity Resolution to concatenate them into a single value. * **matchKey** *(string) --* A key that allows grouping of multiple input attributes into a unified matching group. For example, consider a scenario where the source table contains various addresses, such as "business_address" and "shipping_address". By assigning a "matchKey" called "address" to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group. If no "matchKey" is specified for a column, it won't be utilized for matching purposes but will still be included in the output table. * **subType** *(string) --* The subtype of the attribute, selected from a list of values. * **hashed** *(boolean) --* Indicates if the column values are hashed in the schema input. If the value is set to "TRUE", the column values are hashed. If the value is set to "FALSE", the column values are cleartext. Return type: dict Returns: **Response Syntax** { 'schemaName': 'string', 'schemaArn': 'string', 'description': 'string', 'mappedInputFields': [ { 'fieldName': 'string', 'type': 'NAME'|'NAME_FIRST'|'NAME_MIDDLE'|'NAME_LAST'|'ADDRESS'|'ADDRESS_STREET1'|'ADDRESS_STREET2'|'ADDRESS_STREET3'|'ADDRESS_CITY'|'ADDRESS_STATE'|'ADDRESS_COUNTRY'|'ADDRESS_POSTALCODE'|'PHONE'|'PHONE_NUMBER'|'PHONE_COUNTRYCODE'|'EMAIL_ADDRESS'|'UNIQUE_ID'|'DATE'|'STRING'|'PROVIDER_ID'|'IPV4'|'IPV6'|'MAID', 'groupName': 'string', 'matchKey': 'string', 'subType': 'string', 'hashed': True|False }, ] } **Response Structure** * *(dict) --* * **schemaName** *(string) --* The name of the schema. * **schemaArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "SchemaMapping". * **description** *(string) --* A description of the schema. * **mappedInputFields** *(list) --* A list of "MappedInputFields". Each "MappedInputField" corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching. * *(dict) --* A configuration object for defining input data fields in Entity Resolution. The "SchemaInputAttribute" specifies how individual fields in your input data should be processed and matched. * **fieldName** *(string) --* A string containing the field name. * **type** *(string) --* The type of the attribute, selected from a list of values. LiveRamp supports: "NAME" | "NAME_FIRST" | "NAME_MIDDLE" | "NAME_LAST" | "ADDRESS" | "ADDRESS_STREET1" | "ADDRESS_STREET2" | "ADDRESS_STREET3" | "ADDRESS_CITY" | "ADDRESS_STATE" | "ADDRESS_COUNTRY" | "ADDRESS_POSTALCODE" | "PHONE" | "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" | "PROVIDER_ID" TransUnion supports: "NAME" | "NAME_FIRST" | "NAME_LAST" | "ADDRESS" | "ADDRESS_CITY" | "ADDRESS_STATE" | "ADDRESS_COUNTRY" | "ADDRESS_POSTALCODE" | "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" | "IPV4" | "IPV6" | "MAID" Unified ID 2.0 supports: "PHONE_NUMBER" | "EMAIL_ADDRESS" | "UNIQUE_ID" Note: Normalization is only supported for "NAME", "ADDRESS", "PHONE", and "EMAIL_ADDRESS".If you want to normalize "NAME_FIRST", "NAME_MIDDLE", and "NAME_LAST", you must group them by assigning them to the "NAME" "groupName".If you want to normalize "ADDRESS_STREET1", "ADDRESS_STREET2", "ADDRESS_STREET3", "ADDRESS_CITY", "ADDRESS_STATE", "ADDRESS_COUNTRY", and "ADDRESS_POSTALCODE", you must group them by assigning them to the "ADDRESS" "groupName".If you want to normalize "PHONE_NUMBER" and "PHONE_COUNTRYCODE", you must group them by assigning them to the "PHONE" "groupName". * **groupName** *(string) --* A string that instructs Entity Resolution to combine several columns into a unified column with the identical attribute type. For example, when working with columns such as "NAME_FIRST", "NAME_MIDDLE", and "NAME_LAST", assigning them a common "groupName" will prompt Entity Resolution to concatenate them into a single value. * **matchKey** *(string) --* A key that allows grouping of multiple input attributes into a unified matching group. For example, consider a scenario where the source table contains various addresses, such as "business_address" and "shipping_address". By assigning a "matchKey" called "address" to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group. If no "matchKey" is specified for a column, it won't be utilized for matching purposes but will still be included in the output table. * **subType** *(string) --* The subtype of the attribute, selected from a list of values. * **hashed** *(boolean) --* Indicates if the column values are hashed in the schema input. If the value is set to "TRUE", the column values are hashed. If the value is set to "FALSE", the column values are cleartext. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ConflictException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / batch_delete_unique_id batch_delete_unique_id ********************** EntityResolution.Client.batch_delete_unique_id(**kwargs) Deletes multiple unique IDs in a matching workflow. See also: AWS API Documentation **Request Syntax** response = client.batch_delete_unique_id( workflowName='string', inputSource='string', uniqueIds=[ 'string', ] ) Parameters: * **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow. * **inputSource** (*string*) -- The input source for the batch delete unique ID operation. * **uniqueIds** (*list*) -- **[REQUIRED]** The unique IDs to delete. * *(string) --* Return type: dict Returns: **Response Syntax** { 'status': 'COMPLETED'|'ACCEPTED', 'errors': [ { 'uniqueId': 'string', 'errorType': 'SERVICE_ERROR'|'VALIDATION_ERROR' }, ], 'deleted': [ { 'uniqueId': 'string' }, ], 'disconnectedUniqueIds': [ 'string', ] } **Response Structure** * *(dict) --* * **status** *(string) --* The status of the batch delete unique ID operation. * **errors** *(list) --* The errors from deleting multiple unique IDs. * *(dict) --* The Delete Unique Id error. * **uniqueId** *(string) --* The unique ID that could not be deleted. * **errorType** *(string) --* The error type for the batch delete unique ID operation. * **deleted** *(list) --* The unique IDs that were deleted. * *(dict) --* The deleted unique ID. * **uniqueId** *(string) --* The unique ID of the deleted item. * **disconnectedUniqueIds** *(list) --* The unique IDs that were disconnected. * *(string) --* **Exceptions** * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / can_paginate can_paginate ************ EntityResolution.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. EntityResolution / Client / delete_id_mapping_workflow delete_id_mapping_workflow ************************** EntityResolution.Client.delete_id_mapping_workflow(**kwargs) Deletes the "IdMappingWorkflow" with a given name. This operation will succeed even if a workflow with the given name does not exist. See also: AWS API Documentation **Request Syntax** response = client.delete_id_mapping_workflow( workflowName='string' ) Parameters: **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow to be deleted. Return type: dict Returns: **Response Syntax** { 'message': 'string' } **Response Structure** * *(dict) --* * **message** *(string) --* A successful operation message. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ConflictException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / list_matching_workflows list_matching_workflows *********************** EntityResolution.Client.list_matching_workflows(**kwargs) Returns a list of all the "MatchingWorkflows" that have been created for an Amazon Web Services account. See also: AWS API Documentation **Request Syntax** response = client.list_matching_workflows( nextToken='string', maxResults=123 ) Parameters: * **nextToken** (*string*) -- The pagination token from the previous API call. * **maxResults** (*integer*) -- The maximum number of objects returned per page. Return type: dict Returns: **Response Syntax** { 'workflowSummaries': [ { 'workflowName': 'string', 'workflowArn': 'string', 'createdAt': datetime(2015, 1, 1), 'updatedAt': datetime(2015, 1, 1), 'resolutionType': 'RULE_MATCHING'|'ML_MATCHING'|'PROVIDER' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **workflowSummaries** *(list) --* A list of "MatchingWorkflowSummary" objects, each of which contain the fields "workflowName", "workflowArn", "resolutionType", "createdAt", and "updatedAt". * *(dict) --* A list of "MatchingWorkflowSummary" objects, each of which contain the fields "workflowName", "workflowArn", "resolutionType", "createdAt", "updatedAt". * **workflowName** *(string) --* The name of the workflow. * **workflowArn** *(string) --* The ARN (Amazon Resource Name) that Entity Resolution generated for the "MatchingWorkflow". * **createdAt** *(datetime) --* The timestamp of when the workflow was created. * **updatedAt** *(datetime) --* The timestamp of when the workflow was last updated. * **resolutionType** *(string) --* The method that has been specified for data matching, either using matching provided by Entity Resolution or through a provider service. * **nextToken** *(string) --* The pagination token from the previous API call. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / start_id_mapping_job start_id_mapping_job ******************** EntityResolution.Client.start_id_mapping_job(**kwargs) Starts the "IdMappingJob" of a workflow. The workflow must have previously been created using the "CreateIdMappingWorkflow" endpoint. See also: AWS API Documentation **Request Syntax** response = client.start_id_mapping_job( workflowName='string', outputSourceConfig=[ { 'roleArn': 'string', 'outputS3Path': 'string', 'KMSArn': 'string' }, ] ) Parameters: * **workflowName** (*string*) -- **[REQUIRED]** The name of the ID mapping job to be retrieved. * **outputSourceConfig** (*list*) -- A list of "OutputSource" objects. * *(dict) --* An object containing "KMSArn", "outputS3Path", and "roleARN". * **roleArn** *(string) --* **[REQUIRED]** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf as part of workflow execution. * **outputS3Path** *(string) --* **[REQUIRED]** The S3 path to which Entity Resolution will write the output table. * **KMSArn** *(string) --* Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. Return type: dict Returns: **Response Syntax** { 'jobId': 'string', 'outputSourceConfig': [ { 'roleArn': 'string', 'outputS3Path': 'string', 'KMSArn': 'string' }, ] } **Response Structure** * *(dict) --* * **jobId** *(string) --* The ID of the job. * **outputSourceConfig** *(list) --* A list of "OutputSource" objects. * *(dict) --* An object containing "KMSArn", "outputS3Path", and "roleARN". * **roleArn** *(string) --* The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf as part of workflow execution. * **outputS3Path** *(string) --* The S3 path to which Entity Resolution will write the output table. * **KMSArn** *(string) --* Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. **Exceptions** * "EntityResolution.Client.exceptions.ThrottlingException" * "EntityResolution.Client.exceptions.InternalServerException" * "EntityResolution.Client.exceptions.ResourceNotFoundException" * "EntityResolution.Client.exceptions.AccessDeniedException" * "EntityResolution.Client.exceptions.ExceedsLimitException" * "EntityResolution.Client.exceptions.ConflictException" * "EntityResolution.Client.exceptions.ValidationException" EntityResolution / Client / get_matching_job get_matching_job **************** EntityResolution.Client.get_matching_job(**kwargs) Returns the status, metrics, and errors (if there are any) that are associated with a job. See also: AWS API Documentation **Request Syntax** response = client.get_matching_job( workflowName='string', jobId='string' ) Parameters: * **workflowName** (*string*) -- **[REQUIRED]** The name of the workflow. * **jobId** (*string*) -- **[REQUIRED]** The ID of the job. Return type: dict Returns: **Response Syntax** { 'jobId': 'string', 'status': 'RUNNING'|'SUCCEEDED'|'FAILED'|'QUEUED', 'startTime': datetime(2015, 1, 1), 'endTime': datetime(2015, 1, 1), 'metrics': { 'inputRecords': 123, 'totalRecordsProcessed': 123, 'recordsNotProcessed': 123, 'matchIDs': 123 }, 'errorDetails': { 'errorMessage': 'string' }, 'outputSourceConfig': [ { 'roleArn': 'string', 'outputS3Path': 'string', 'KMSArn': 'string' }, ] } **Response Structure** * *(dict) --* * **jobId** *(string) --* The unique identifier of the matching job. * **status** *(string) --* The current status of the job. * **startTime** *(datetime) --* The time at which the job was started. * **endTime** *(datetime) --* The time at which the job has finished. * **metrics** *(dict) --* Metrics associated with the execution, specifically total records processed, unique IDs generated, and records the execution skipped. * **inputRecords** *(integer) --* The total number of input records. * **totalRecordsProcessed** *(integer) --* The total number of records processed. * **recordsNotProcessed** *(integer) --* The total number of records that did not get processed. * **matchIDs** *(integer) --* The total number of >>``<