Hello,
I was hoping for advice regarding importing from a CSV file. I am attempting to import this object as a Server object type which I have created. Currently I also have Make which is the parent object type and model which is it's child. Model has a reference to make as an attribute. I have created matching objects for my example make and model.
Server Object Type attributes:
Name | Default | Text
Created | Default | DateTime
Updated | Default | DateTime
Make | Object | Make
Model | Object | Model
Model Object Type attributes:
Name | Default | Text
Created | Default | DateTime
Updated | Default | DateTime
Make | Object | Make
My CSV file looks like this.
ServerName, Make, Model
Server1, "Cisco Systems", CATALYST 3750
My CSV import configurations is as follows.
Import from: File
Empty Values: Ignore
Unknown Values: Ignore.
Concatenator: -
Date Format: dd/MMM/yy
My object type mapping is as follows.
Filter data source by IQL: No Value
Missing objects: Ignore
Missing objects outbound references: Ignore
Empty Values: Ignore
Unknown Values: Ignore
Match Identifier: Case insensitive
Data Locators
Identifier:True | Data Locator: ServerName | Insight Attribute: Name
Identifier:True | Data Locator: Make | Insight Attribute: Make | IQL: Name = ${Make}
Identifier: True | Data Locator: Make, Model | Insight Attribute: Model | IQL: Name = {Model} AND Make.Name = ${Make}
**EDIT** I have also tried using the IQL mapping "objects having outboundReference(Name=$Make}) AND Name=${Model}"
With all this I am unable to have the import successfully link to both the Make and the Model. Currently it is successfully linking to Make but not model. I get a reference to Make but Model is not linking.
Any advice you could give would be greatly appreciated, please let me know if anything above is unclear.
Thanks Alex
Hi Alex.
Following your detailed configuration, I was able to achieve your requirement.
Here are the Adjustments I made:
1. I have created Object Type Mapping for the Make and Model Object Types as well - so the same CSV will create or update the respective Objects
2. Please remove the quotes from your Make in the CSV: Cisco Systems
3. your last two IQLs have some typos:
I used "Name = ${Model} AND Make.Name = ${Make}" //you were missing the $ sign before the {Model}.
4. as an additional note - Identifiers may affect performance - you should select a Unique Attribute/s as Identifiers. If you select Multiple Attributes as Identifiers - they will be matched as combined with an AND condition between them.
Hope this helps ;)
Kind regards,
Yinon
Team Riada
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yinon,
Thank you for your answer, I realised that my issue was I was filtering my Server Model attribute with Make=${Make} inside of Server so that when I added a new object and selected a make the models only pertaining to that make would show.
If remove the filter in Server's model attribute I can import correctly.
Is it intentional that when filtering an attribute of an Object type and importing an object of that type that the import searches using that Objects IQL filtering not the filter of the Base type.
By this I mean it seems to search based on the models that appear in my filtered Server Model attribute not the Model Object type itself? Due to this because inside of Server the attribute for model has not models as the filter has not been satisfied with a make. I was hoping to be able to access the unfiltered Model objects but the only way I can do this is by removing the filter on Model in Server and by doing this I lose the functionality of being able to filter when adding a new object manually. Is this intentional and if so do you know a way I can access the unfiltered Model objects without removing the filter in Server.
Hope this makes sense,
Much appreciated,
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Alex.
When Importing from a Datalocator into an Object Type Attribute, the Datalocator will not contain an "Object" to be referenced, but Data which the Importer will use in an IQL filter, in order to find the referenced Object and set it as the Attribute Value.
The Referenced Object is already in Insight (or being created during the Import) hence the IQL should be able to find it based on this Objects Attributes matching the Data in the Datalocator (import). This is explained here.
for this reason, and in order to allow you flexibility, you should indicate an IQL on the Object Type Mapping for the Importer to be able and locate the Referenced Object targeted by the Datalocator.
Kind regards,
Yinon
Team Riada
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.