Import commands
Each import command contains mandatory and optional fields.
Mandatory fields
The common mandatory fields for all command types are:
Field | Description | Example |
---|---|---|
resourceType
|
The type of resource the import command is for. | Community , Domain , Asset , Mapping , Complex Relation |
identifier
|
The universally unique identifier (UUID) of the resource or a combination of other characteristics that uniquely identify the resource. |
See the topics of this section for examples of parameters that identify each resource. |
For the optional fields, consider providing at least the minimum information required to create a new resource in Collibra if that resource needs to be created. For these fields, the default operation is SET
.
Resource types
The following resources are supported for import or synchronization via the Import API. Depending on the resource type, the Import API performs one of two operations: SET
or MERGE
.
Resource | Performed operation |
---|---|
Communities | MERGE
|
Domains | MERGE
|
Assets and the following asset characteristics: | MERGE
|
|
SET
|
|
SET
|
|
SET
|
Responsibilities for communities, domains and assets | SET
|
Complex relations | MERGE
|
Mappings | MERGE
|
The MERGE
operation
For MERGE
operations:
- If the resource does not exist, it is created with all the properties provided in the input.
- If the resource exists, it is updated so that its properties match the ones provided in the input.
The SET
operation
For SET
operations:
- If the resource exists with the same properties as defined in the input, the Import API performs no action.
- If the resource exists with properties different from the ones defined in the input, the Import API replaces or creates the properties that are provided in the input and performs no action on the other existing properties.
- If the resource exists with properties that have multiple values, for example multi-value attributes or tags, the values provided in the input file are updated and the rest of the existing values are deleted.
- If the resource does not exist, it is created.
Identifiers
Identifiers ensure the imported resource is uniquely identified. You must identify each resource by exactly one of the following:
id
: the universally unique identifier (UUID) of the resource.name
: the community name, the domain and community names or the asset, domain and community names.externalSystemId
andexternalEntityId
: the IDs of the external system containing the resource ad the external resource.The long versions of these identifiers,
externalSystemId
andexternalEntityId
, replace the short versionsextSystemId
andextEntityId
, which are deprecated.
Identifiers are mandatory properties in the JSON import commands and in the CSV and Excel templates.
Keep the identifiers consistent to avoid possible performance drawbacks. It is possible but not recommended to use different identifiers for the same resource in the same input, for example, once name and once ID.
The identifiers from all of the commands of the import process, including the nested identifiers, are used in the identifier resolving stage of the import to:
- Check if the resources exists.
- Get the UUIDs of the resources.
Command merging
During the import process, multiple subsequent commands with the same identifier are merged and executed as a single import command. This means that an imported asset has attributes and relations from all merged commands.
Only commands that immediately follow each other can be merged, otherwise the last command in the file can override the results of the previous commands with the same identifier.
For consistent results, use one import command per unique identifier.