entityresolution

package
v0.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package entityresolution provides an AWS Entity Resolution service emulator.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateIDMappingWorkflowRequest

type CreateIDMappingWorkflowRequest struct {
	WorkflowName        string                  `json:"workflowName"`
	Description         string                  `json:"description,omitempty"`
	InputSourceConfig   []IDMappingInputSource  `json:"inputSourceConfig"`
	OutputSourceConfig  []IDMappingOutputSource `json:"outputSourceConfig,omitempty"`
	IDMappingTechniques *IDMappingTechniques    `json:"idMappingTechniques"`
	RoleArn             string                  `json:"roleArn,omitempty"`
	Tags                map[string]string       `json:"tags,omitempty"`
}

CreateIDMappingWorkflowRequest represents the request for CreateIDMappingWorkflow.

type CreateMatchingWorkflowRequest

type CreateMatchingWorkflowRequest struct {
	WorkflowName         string                `json:"workflowName"`
	Description          string                `json:"description,omitempty"`
	InputSourceConfig    []InputSource         `json:"inputSourceConfig"`
	OutputSourceConfig   []OutputSource        `json:"outputSourceConfig"`
	ResolutionTechniques *ResolutionTechniques `json:"resolutionTechniques"`
	RoleArn              string                `json:"roleArn"`
	Tags                 map[string]string     `json:"tags,omitempty"`
}

CreateMatchingWorkflowRequest represents the request for CreateMatchingWorkflow.

type CreateSchemaMappingRequest

type CreateSchemaMappingRequest struct {
	SchemaName        string                 `json:"schemaName"`
	Description       string                 `json:"description,omitempty"`
	MappedInputFields []SchemaInputAttribute `json:"mappedInputFields"`
	Tags              map[string]string      `json:"tags,omitempty"`
}

CreateSchemaMappingRequest represents the request for CreateSchemaMapping.

type Error

type Error struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

Error represents an Entity Resolution error.

func (*Error) Error

func (e *Error) Error() string

Error implements the error interface.

type IDMappingInputSource

type IDMappingInputSource struct {
	InputSourceARN string `json:"inputSourceArn"`
	SchemaName     string `json:"schemaName,omitempty"`
	Type           string `json:"type,omitempty"`
}

IDMappingInputSource represents an input source for an ID mapping workflow.

type IDMappingOutputSource

type IDMappingOutputSource struct {
	OutputS3Path string `json:"outputS3Path"`
	KMSArn       string `json:"kmsArn,omitempty"`
}

IDMappingOutputSource represents an output source for an ID mapping workflow.

type IDMappingTechniques

type IDMappingTechniques struct {
	IDMappingType string `json:"idMappingType"`
}

IDMappingTechniques represents ID mapping techniques configuration.

type IDMappingWorkflow

type IDMappingWorkflow struct {
	WorkflowName        string                  `json:"workflowName"`
	WorkflowArn         string                  `json:"workflowArn"`
	Description         string                  `json:"description,omitempty"`
	InputSourceConfig   []IDMappingInputSource  `json:"inputSourceConfig"`
	OutputSourceConfig  []IDMappingOutputSource `json:"outputSourceConfig,omitempty"`
	IDMappingTechniques *IDMappingTechniques    `json:"idMappingTechniques"`
	RoleArn             string                  `json:"roleArn,omitempty"`
	CreatedAt           float64                 `json:"createdAt"`
	UpdatedAt           float64                 `json:"updatedAt"`
	Tags                map[string]string       `json:"tags,omitempty"`
}

IDMappingWorkflow represents an ID mapping workflow.

type IDMappingWorkflowSummary

type IDMappingWorkflowSummary struct {
	WorkflowName string  `json:"workflowName"`
	WorkflowArn  string  `json:"workflowArn"`
	CreatedAt    float64 `json:"createdAt"`
	UpdatedAt    float64 `json:"updatedAt"`
}

IDMappingWorkflowSummary represents a summary of an ID mapping workflow for list responses.

type InputSource

type InputSource struct {
	InputSourceARN     string `json:"inputSourceArn"`
	SchemaName         string `json:"schemaName,omitempty"`
	ApplyNormalization *bool  `json:"applyNormalization,omitempty"`
}

InputSource represents an input source for a workflow.

type ListIDMappingWorkflowsResponse

type ListIDMappingWorkflowsResponse struct {
	WorkflowSummaries []IDMappingWorkflowSummary `json:"workflowSummaries"`
	NextToken         string                     `json:"nextToken,omitempty"`
}

ListIDMappingWorkflowsResponse represents the response for ListIDMappingWorkflows.

type ListMatchingWorkflowsResponse

type ListMatchingWorkflowsResponse struct {
	WorkflowSummaries []MatchingWorkflowSummary `json:"workflowSummaries"`
	NextToken         string                    `json:"nextToken,omitempty"`
}

ListMatchingWorkflowsResponse represents the response for ListMatchingWorkflows.

type ListProviderServicesResponse

type ListProviderServicesResponse struct {
	ProviderServiceSummaries []ProviderService `json:"providerServiceSummaries"`
	NextToken                string            `json:"nextToken,omitempty"`
}

ListProviderServicesResponse represents the response for ListProviderServices.

type ListSchemaMappingsResponse

type ListSchemaMappingsResponse struct {
	SchemaList []SchemaMappingSummary `json:"schemaList"`
	NextToken  string                 `json:"nextToken,omitempty"`
}

ListSchemaMappingsResponse represents the response for ListSchemaMappings.

type MatchingWorkflow

type MatchingWorkflow struct {
	WorkflowName         string                `json:"workflowName"`
	WorkflowArn          string                `json:"workflowArn"`
	Description          string                `json:"description,omitempty"`
	InputSourceConfig    []InputSource         `json:"inputSourceConfig"`
	OutputSourceConfig   []OutputSource        `json:"outputSourceConfig"`
	ResolutionTechniques *ResolutionTechniques `json:"resolutionTechniques"`
	RoleArn              string                `json:"roleArn"`
	CreatedAt            float64               `json:"createdAt"`
	UpdatedAt            float64               `json:"updatedAt"`
	Tags                 map[string]string     `json:"tags,omitempty"`
}

MatchingWorkflow represents a matching workflow.

type MatchingWorkflowSummary

type MatchingWorkflowSummary struct {
	WorkflowName string  `json:"workflowName"`
	WorkflowArn  string  `json:"workflowArn"`
	CreatedAt    float64 `json:"createdAt"`
	UpdatedAt    float64 `json:"updatedAt"`
}

MatchingWorkflowSummary represents a summary of a matching workflow for list responses.

type MemoryStorage

type MemoryStorage struct {
	Schemas            map[string]*SchemaMapping     `json:"schemas"`
	MatchingWorkflows  map[string]*MatchingWorkflow  `json:"matchingWorkflows"`
	IDMappingWorkflows map[string]*IDMappingWorkflow `json:"idMappingWorkflows"`
	// contains filtered or unexported fields
}

MemoryStorage implements Storage with in-memory data.

func NewMemoryStorage

func NewMemoryStorage(opts ...Option) *MemoryStorage

NewMemoryStorage creates a new MemoryStorage.

func (*MemoryStorage) Close added in v0.6.0

func (m *MemoryStorage) Close() error

Close saves the storage state to disk if persistence is enabled.

func (*MemoryStorage) CreateIDMappingWorkflow

func (m *MemoryStorage) CreateIDMappingWorkflow(_ context.Context, req *CreateIDMappingWorkflowRequest) (*IDMappingWorkflow, error)

CreateIDMappingWorkflow creates a new ID mapping workflow.

func (*MemoryStorage) CreateMatchingWorkflow

func (m *MemoryStorage) CreateMatchingWorkflow(_ context.Context, req *CreateMatchingWorkflowRequest) (*MatchingWorkflow, error)

CreateMatchingWorkflow creates a new matching workflow.

func (*MemoryStorage) CreateSchemaMapping

func (m *MemoryStorage) CreateSchemaMapping(_ context.Context, req *CreateSchemaMappingRequest) (*SchemaMapping, error)

CreateSchemaMapping creates a new schema mapping.

func (*MemoryStorage) DeleteIDMappingWorkflow

func (m *MemoryStorage) DeleteIDMappingWorkflow(_ context.Context, workflowName string) error

DeleteIDMappingWorkflow deletes an ID mapping workflow.

func (*MemoryStorage) DeleteMatchingWorkflow

func (m *MemoryStorage) DeleteMatchingWorkflow(_ context.Context, workflowName string) error

DeleteMatchingWorkflow deletes a matching workflow.

func (*MemoryStorage) DeleteSchemaMapping

func (m *MemoryStorage) DeleteSchemaMapping(_ context.Context, schemaName string) error

DeleteSchemaMapping deletes a schema mapping.

func (*MemoryStorage) GetIDMappingWorkflow

func (m *MemoryStorage) GetIDMappingWorkflow(_ context.Context, workflowName string) (*IDMappingWorkflow, error)

GetIDMappingWorkflow returns an ID mapping workflow.

func (*MemoryStorage) GetMatchingWorkflow

func (m *MemoryStorage) GetMatchingWorkflow(_ context.Context, workflowName string) (*MatchingWorkflow, error)

GetMatchingWorkflow returns a matching workflow.

func (*MemoryStorage) GetSchemaMapping

func (m *MemoryStorage) GetSchemaMapping(_ context.Context, schemaName string) (*SchemaMapping, error)

GetSchemaMapping returns a schema mapping.

func (*MemoryStorage) ListIDMappingWorkflows

func (m *MemoryStorage) ListIDMappingWorkflows(_ context.Context) ([]IDMappingWorkflowSummary, error)

ListIDMappingWorkflows lists all ID mapping workflows.

func (*MemoryStorage) ListMatchingWorkflows

func (m *MemoryStorage) ListMatchingWorkflows(_ context.Context) ([]MatchingWorkflowSummary, error)

ListMatchingWorkflows lists all matching workflows.

func (*MemoryStorage) ListProviderServices

func (m *MemoryStorage) ListProviderServices(_ context.Context) ([]ProviderService, error)

ListProviderServices returns a static list of provider services.

func (*MemoryStorage) ListSchemaMappings

func (m *MemoryStorage) ListSchemaMappings(_ context.Context) ([]SchemaMappingSummary, error)

ListSchemaMappings lists all schema mappings.

func (*MemoryStorage) MarshalJSON added in v0.6.0

func (m *MemoryStorage) MarshalJSON() ([]byte, error)

MarshalJSON serializes the storage state to JSON.

func (*MemoryStorage) UnmarshalJSON added in v0.6.0

func (m *MemoryStorage) UnmarshalJSON(data []byte) error

UnmarshalJSON restores the storage state from JSON.

type Option added in v0.6.0

type Option func(*MemoryStorage)

Option is a configuration option for MemoryStorage.

func WithDataDir added in v0.6.0

func WithDataDir(dir string) Option

WithDataDir enables persistent storage in the specified directory.

type OutputAttribute

type OutputAttribute struct {
	Name   string `json:"name"`
	Hashed bool   `json:"hashed,omitempty"`
}

OutputAttribute represents an output attribute.

type OutputSource

type OutputSource struct {
	OutputS3Path       string            `json:"outputS3Path"`
	Output             []OutputAttribute `json:"output"`
	KMSArn             string            `json:"kmsArn,omitempty"`
	ApplyNormalization *bool             `json:"applyNormalization,omitempty"`
}

OutputSource represents an output source for a workflow.

type ProviderService

type ProviderService struct {
	ProviderName        string `json:"providerName"`
	ProviderServiceName string `json:"providerServiceName"`
	ProviderServiceArn  string `json:"providerServiceArn"`
	ProviderServiceType string `json:"providerServiceType"`
}

ProviderService represents a provider service.

type ResolutionTechniques

type ResolutionTechniques struct {
	ResolutionType string `json:"resolutionType"`
}

ResolutionTechniques represents resolution techniques configuration.

type SchemaInputAttribute

type SchemaInputAttribute struct {
	FieldName string `json:"fieldName"`
	Type      string `json:"type"`
	MatchKey  string `json:"matchKey,omitempty"`
	GroupName string `json:"groupName,omitempty"`
	SubType   string `json:"subType,omitempty"`
	Hashed    bool   `json:"hashed,omitempty"`
}

SchemaInputAttribute represents a mapped input field in a schema.

type SchemaMapping

type SchemaMapping struct {
	SchemaName        string                 `json:"schemaName"`
	SchemaArn         string                 `json:"schemaArn"`
	Description       string                 `json:"description,omitempty"`
	MappedInputFields []SchemaInputAttribute `json:"mappedInputFields"`
	CreatedAt         float64                `json:"createdAt"`
	UpdatedAt         float64                `json:"updatedAt"`
	Tags              map[string]string      `json:"tags,omitempty"`
}

SchemaMapping represents a schema mapping.

type SchemaMappingSummary

type SchemaMappingSummary struct {
	SchemaName string  `json:"schemaName"`
	SchemaArn  string  `json:"schemaArn"`
	CreatedAt  float64 `json:"createdAt"`
	UpdatedAt  float64 `json:"updatedAt"`
}

SchemaMappingSummary represents a summary of a schema mapping for list responses.

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service implements the Entity Resolution service.

func New

func New(storage Storage) *Service

New creates a new Entity Resolution service.

func (*Service) Close added in v0.6.0

func (s *Service) Close() error

Close saves the storage state if persistence is enabled.

func (*Service) CreateIDMappingWorkflow

func (s *Service) CreateIDMappingWorkflow(w http.ResponseWriter, r *http.Request)

CreateIDMappingWorkflow handles POST /idmappingworkflows.

func (*Service) CreateMatchingWorkflow

func (s *Service) CreateMatchingWorkflow(w http.ResponseWriter, r *http.Request)

CreateMatchingWorkflow handles POST /matchingworkflows.

func (*Service) CreateSchemaMapping

func (s *Service) CreateSchemaMapping(w http.ResponseWriter, r *http.Request)

CreateSchemaMapping handles POST /schemas.

func (*Service) DeleteIDMappingWorkflow

func (s *Service) DeleteIDMappingWorkflow(w http.ResponseWriter, r *http.Request)

DeleteIDMappingWorkflow handles DELETE /idmappingworkflows/{workflowName}.

func (*Service) DeleteMatchingWorkflow

func (s *Service) DeleteMatchingWorkflow(w http.ResponseWriter, r *http.Request)

DeleteMatchingWorkflow handles DELETE /matchingworkflows/{workflowName}.

func (*Service) DeleteSchemaMapping

func (s *Service) DeleteSchemaMapping(w http.ResponseWriter, r *http.Request)

DeleteSchemaMapping handles DELETE /schemas/{schemaName}.

func (*Service) GetIDMappingWorkflow

func (s *Service) GetIDMappingWorkflow(w http.ResponseWriter, r *http.Request)

GetIDMappingWorkflow handles GET /idmappingworkflows/{workflowName}.

func (*Service) GetMatchingWorkflow

func (s *Service) GetMatchingWorkflow(w http.ResponseWriter, r *http.Request)

GetMatchingWorkflow handles GET /matchingworkflows/{workflowName}.

func (*Service) GetSchemaMapping

func (s *Service) GetSchemaMapping(w http.ResponseWriter, r *http.Request)

GetSchemaMapping handles GET /schemas/{schemaName}.

func (*Service) ListIDMappingWorkflows

func (s *Service) ListIDMappingWorkflows(w http.ResponseWriter, r *http.Request)

ListIDMappingWorkflows handles GET /idmappingworkflows.

func (*Service) ListMatchingWorkflows

func (s *Service) ListMatchingWorkflows(w http.ResponseWriter, r *http.Request)

ListMatchingWorkflows handles GET /matchingworkflows.

func (*Service) ListProviderServices

func (s *Service) ListProviderServices(w http.ResponseWriter, r *http.Request)

ListProviderServices handles GET /providerservices.

func (*Service) ListSchemaMappings

func (s *Service) ListSchemaMappings(w http.ResponseWriter, r *http.Request)

ListSchemaMappings handles GET /schemas.

func (*Service) Name

func (s *Service) Name() string

Name returns the service name.

func (*Service) RegisterRoutes

func (s *Service) RegisterRoutes(r service.Router)

RegisterRoutes registers the Entity Resolution routes.

type Storage

type Storage interface {
	CreateSchemaMapping(ctx context.Context, req *CreateSchemaMappingRequest) (*SchemaMapping, error)
	GetSchemaMapping(ctx context.Context, schemaName string) (*SchemaMapping, error)
	DeleteSchemaMapping(ctx context.Context, schemaName string) error
	ListSchemaMappings(ctx context.Context) ([]SchemaMappingSummary, error)

	CreateMatchingWorkflow(ctx context.Context, req *CreateMatchingWorkflowRequest) (*MatchingWorkflow, error)
	GetMatchingWorkflow(ctx context.Context, workflowName string) (*MatchingWorkflow, error)
	DeleteMatchingWorkflow(ctx context.Context, workflowName string) error
	ListMatchingWorkflows(ctx context.Context) ([]MatchingWorkflowSummary, error)

	CreateIDMappingWorkflow(ctx context.Context, req *CreateIDMappingWorkflowRequest) (*IDMappingWorkflow, error)
	GetIDMappingWorkflow(ctx context.Context, workflowName string) (*IDMappingWorkflow, error)
	DeleteIDMappingWorkflow(ctx context.Context, workflowName string) error
	ListIDMappingWorkflows(ctx context.Context) ([]IDMappingWorkflowSummary, error)

	ListProviderServices(ctx context.Context) ([]ProviderService, error)
}

Storage defines the Entity Resolution storage interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL