Persisted Data Source API
Audience: Data Owners
Content Summary: The
persisted
endpoint allows you to create a Persisted data source in Immuta. After you have created a Persisted data source, you will need to use thepersistBlob
endpoint to upload files to the data source.
Note
Additional fields may be included in some responses you receive; however, these attributes are for internal purposes and are therefore undocumented.
Persisted Workflow
Create a Data Source
Endpoint
Method | Path | Purpose |
---|---|---|
POST | /persisted/handler |
Save the provided connection information as a data source. |
Query Parameters
None.
Payload Parameters
Attribute | Description | Required |
---|---|---|
BlobHandler | array[object] A list of full URLs providing the locations of all blob store handlers to use with this data source. |
Yes |
BlobHandlerType | string Describes the type of underlying blob handler that will be used with this data source (e.g., MS SQL ). |
Yes |
Type | string The type of data source: ingested (metadata will exist in Immuta) or queryable (metadata is dynamically queried). |
Yes |
Name | string The name of the data source. It must be unique within the Immuta instance. |
Yes |
SqlTableName | string A string that represents this data source's table in the Query Engine. |
Yes |
Private | boolean When false , the data source will be publicly available in the Immuta UI. |
No |
Organization | string The organization that owns the data source. |
No |
RecordFormat | string The data format of blobs in the data source, such as json , xml , html , or jpeg . |
No |
Category | string The category of the data source. |
No |
Description | string The description of the data source. |
No |
Owner | array[object] Users and groups that should be added as owners to this data source. Profiles must be a list of profile IDs and groups must be a list of group IDs: { "profiles": [3, 5], "groups": [4, 1999] } . |
No |
Expert | array[object] Users and groups that should be added as expert users to this data source. Profiles must be a list of profile IDs and groups must be a list of group IDs: { "profiles": [87, 199], "groups": [324] } . |
No |
Ingest | array[object] Users and groups that should be added as ingest users to this data source. Profiles must be a list of profile IDs and groups must be a list of group IDs: { "profiles": [34, 23], "groups": [32] } . |
No |
HasExamples | boolean When true , the data source contains examples. |
No |
Response Parameters
Attribute | Description |
---|---|
Id | integer The handler ID. |
DataSourceId | integer The ID of the data source. |
Warnings | string This message describes issues with the created data source, such as the data source being unhealthy. |
ConnectionString | string The connection string used to connect the data source to Immuta. |
Request Example
This request creates a Persisted data source, which is specified in example-payload.json
.
curl \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/persisted/handler
Payload Example
{
"handler": null,
"dataSource": {
"blobHandler": {
"scheme": "https",
"url": ""
},
"expiration": "2021-11-01T03:59:59.999Z",
"blobHandlerType": "Persisted",
"recordFormat": "",
"type": "ingested",
"name": "Sample Data Source",
"sqlTableName": "sample_data_source"
}
}
Response Example
{
"dataSourceId": 46
}