The schema defines the attributes in the entities managed by the connector. As with all connectors this schema can be configured through the standard Identity Broker user interface; but the PowerShell connector supports the ability to request the schema from a target system. This capability is exposed through a single Schema Provider script.
If the schema of the entities is dynamically defined in the target system, it can be requested through a schema provider script.
A schema consists of a series of fields. Each field maintains the following properties:
- Name: The name-value of the field. (e.g. PhoneNumber, FirstName, LastName etc.)
- Type: The type of data managed by the field which can be any of the following:
- Single Valued: boolean, binary, timestamp, date, decimal, dn, guid, int, long, double, short, single, string
- Multi-Valued: boolean.multi, timestamp.multi, date.multi, decimal.multi, dn.multi, guid.multi, int.multi, long.multi, double.multi, short.multi, single.multi, string.multi
- Key: Whether this field is part of the key of the connector. The key is used to uniquely identify entities of a connector.
- Read-only: Whether this field can only be read from the target system (values will not be exported)
- Required: Whether a value must be present in this field for it to be registered by Identity Broker.
A field can be dynamically registered in the schema provider script through the following method:
function New-Field([string]$fieldName, [string]$type, [bool]$key, [bool]$readOnly = $false, [bool]$required = $false)
The following example implementation is for a hypothetical Student table. Each student has a first name, last name, email address, year level and a series of email addresses. Additionally, there is a unique identifier for each student in the database:
New-Field 'UniqueIdentifier' 'int' $true $true $true New-Field 'FirstName' 'string' $false $true $true New-Field 'LastName' 'string' $false $true $true New-Field 'EmailAddress' 'string' $false $false $false New-Field 'YearLevel' 'int' $false $false $true New-Field 'PhoneNumbers' 'string.multi' $false $false $false
Registering this schema provider script will force the connector to evaluate it, and generate the subsequent schema.
Customer support service by UserEcho