Skip to content

IdNamespace

Source: src/AWS/EntityResolution/IdNamespace.ts

An AWS Entity Resolution ID namespace — a wrapper around an input dataset used by ID mapping workflows. A SOURCE namespace holds the records to be translated; a TARGET namespace holds the dataset (and the rule-based matching configuration) they are mapped onto.

Source namespace over a Glue table

import * as AWS from "alchemy/AWS";
const source = yield* AWS.EntityResolution.IdNamespace("Source", {
type: "SOURCE",
inputSourceConfig: [
{ inputSourceARN: table.tableArn, schemaName: schema.schemaName },
],
idMappingWorkflowProperties: [{ idMappingType: "RULE_BASED" }],
roleArn: role.roleArn,
});

Target namespace with matching rules

const target = yield* AWS.EntityResolution.IdNamespace("Target", {
type: "TARGET",
inputSourceConfig: [
{ inputSourceARN: table.tableArn, schemaName: schema.schemaName },
],
idMappingWorkflowProperties: [
{
idMappingType: "RULE_BASED",
ruleBasedProperties: {
rules: [{ ruleName: "ByEmail", matchingKeys: ["email"] }],
ruleDefinitionTypes: ["TARGET"],
attributeMatchingModel: "ONE_TO_ONE",
recordMatchingModels: ["ONE_SOURCE_TO_ONE_TARGET"],
},
},
],
roleArn: role.roleArn,
});