There are few restrictions on individual source data files: object.
This is an asynchronous call in that it doesn’t download the source data or perform the import, it simply adds a work item to the queue for doing this later.
Office365Tenant tenant = new Office365Tenant(ctx); ctx. In this case, we use Email as the identifier at the UPA storage Import Profile Properties User Id Type user Id Type = Import Profile Properties User Id Type. Dictionary(); // The key is the property in the JSON file, // The value is the user profile property Name in the User Profile Service // Notice that we have 2 custom properties in UPA called ' City' and ' Office Code' property Map. Add("Office", "Office Code"); // Returns a GUID which can be used to check the status of the execution and the end results var work Item Id = tenant. Execute Query(); # Output the unique identifier of the job Write-Host "Import job created with the following identifier:" $work Item Id.
Email; // Name of the user identifier property within the JSON file var user Lookup Key = "Id Name"; var property Map = new System. Queue Import Profile Properties( user Id Type, user Lookup Key, property Map, file Url ); ctx. Import Profile Properties User Id Type]:: Email # Name of user identifier property in the JSON $user Lookup Key="id Name" # Create property mapping between the source file property name and the O365 property name # Notice that we have here 2 custom properties in UPA called ' City' and ' Office Code' $property Map = New-Object -type ' System. Value There are two levels of validation when this API is used.
The file should not be moved or deleted right away as it may not be downloaded for some time.
source Uri: The URI of the source data file to import.This requires that the updated CSOM redistributable package has been installed on the computer where the script is executed. In the picture below, you can see two sub folders for two different executions created in the document library where the import file is stored: The actual log file is saved in the sub folder and you can download that from Office 365 for detailed analysis: Following table contains typical exceptions which you could encounter when you start using the User Profile Service bulk API. The API will validate that all properties currently being mapped are NOT user editable.By using Power Shell, you do not need to compile your code within Visual Studio, which may be a more suitable model for some customers. The exception will point out the property which cannot be used.You can check status of an individual import job by using the // Check the status of a specific request based on the job id received when we queued the job Office365Tenant tenant = new Office365Tenant(ctx); var job = tenant. When the queue API is called, only an initial level of validation is applied and final validation of the provided information is performed when the import job is actually executed.
Get Import Profile Property Job(work Item Id); ctx. Execute Query(); objects with high level status information about each of the jobs. If there are any exceptions during the actual import job execution, a logging file with additional details is generated in the same document library where the import file was located.
Yes, you’ll need to register the client id and secret to be able to execute the APIs.