How to add a new Provider¶
A Provider is a Sidra element that represents a logical collection of Entities.
One Provided can be related to a unique data source or several data sources, which together conform a logical unit.
Providers are stored in the Provider table in the Sidra Core metadata database.
There are two ways to create a new Provider:
- Create a new Provider by creating an SQL script to insert the new Provider in the Sidra Core database.
- Create a new Provider by using the Sidra API endpoint to add new Providers.
The method used will depend, for example, on having access to the source code of the solution -where the SQL scripts must be placed to be executed- or having to integrate with a third-party tool. In the latter case, the Sidra API is the recommended approach.
This is the information about the Providers that must be included when a new Provider is stored in the metadata database:
|Id||[Required] Provider identifier.|
|ItemId||[Required] Provider GUID|
|ProviderName||[Required] Name of the Provider. Spaces are not allowed and it is usually wrote in camel case, e.g. MyNewProvider.|
|DatabaseName||[Required] Name of the database in the metastore of the Data Storage Unit (DSU). Spaces are not allowed and it is usually named following this convention: "dw_xyz", where "dw" stands for Data Warehouse.|
|Description||[Optional] Description of the Provider.|
|Owner||[Optional] Identification of the person responsible of the Provider, it can be a name, an email, etc.|
|IdDataStorageUnit||[Required] Id of the DSU -previously called DataLake- where the Entities of the Provider will be stored.|
|ParentSecurityPath||[Optional] The security path of the parent following the metadata model hierarchy.|
|Image||[Optional] Image of the Provider to be displayed in the Data Catalog.|
|SecurityPath||[Computed] The security path of the Provider.|
|CreationDate||[Required] Date of creation of the Provider.|
|Detail||[Optional] Detailed description (markdown allowed) of the Provider to be displayed in the Data Catalog.|
Add a new Provider by using an SQL script¶
Add an SQL script following the naming conventions to the
Scripts\CoreContext folder or to the place configured in the DatabaseBuilder from where it retrieves the scripts. A sample of the script can be found below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Add a new Provider by using Sidra API¶
Sidra API requires requests to be authenticated, the section How to use Sidra API explains how to create an authenticated requests. For the rest of the document, it is going to be supposed that Sidra API is deployed in the following URL:
This is the sequence of requests requiered to create a new Provider.
Some of the requests are used to gather information about the Provider, if that information is already available, those requests will not be necessary.
Step 1. Get the identifier of the Data Storage Unit (DSU)¶
Before creating a Provider, it is required to know the Id of the DSU where the data of the Entities associated to the Provider will be stored.
If the identifier is already known, this step can be skipped. If not, this is the request retrieve all the DSUs:
It will return an object with the list of DSUs, including their Ids.
1 2 3 4 5 6 7 8 9 10 11 12
From the previous response, the Id of the DSU can be retrived and used in the next step to populate the field
Step 2. Create a new Provider¶
By using Sidra API some of the fields of the Provider are automatically populated -like
Once the rest of the information of the Provider is gathered, it can be created using this request:
And adding the following content as part of the body:
1 2 3 4 5 6 7
The response will return the Id of the Provider created, which can be used, for example, for adding a new Entity.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19