Redshift data source API reference guide
curl \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/redshift/handler{
"handler": [{
"metadata": {
"ssl": true,
"userFiles": [],
"port": 5439,
"hostname": "redshift.database.example.io",
"database": "test",
"username": "user",
"password": "yourpassword",
"schemaProjectName": "Army",
"staleDataTolerance": 86400,
"bodataSchemaName": "army",
"bodataTableName": "army_records",
"dataSourceName": "Army Army Records",
"table": "army_records",
"schema": "army",
"nativeViewName": "army_records_immuta",
"nativeSchemaName": "army_immuta",
"nativeWorkspaceName": "immuta_test"
}
}, {
"metadata": {
"ssl": true,
"userFiles": [],
"port": 5439,
"hostname": "redshift.database.example.io",
"database": "test",
"username": "user",
"password": "your-password",
"schemaProjectName": "Army",
"staleDataTolerance": 86400,
"bodataSchemaName": "army",
"bodataTableName": "data",
"dataSourceName": "Army Data",
"table": "data",
"schema": "army",
"nativeViewName": "data_immuta",
"nativeSchemaName": "army_immuta",
"nativeWorkspaceName": "immuta_test"
}
}],
"dataSource": {
"blobHandler": {
"scheme": "https",
"url": ""
},
"blobHandlerType": "Redshift",
"recordFormat": "",
"type": "queryable",
"schemaEvolutionId": null,
"columnEvolutionEnabled": true
},
"schemaEvolution": {
"ownerProfileId": 2,
"config": {
"nameTemplate": {
"nameFormat": "<Schema> <Tablename>",
"tableFormat": "<tablename>",
"sqlSchemaNameFormat": "<schema>",
"schemaProjectNameFormat": "<Schema>"
}
},
"schemas": []
}
}{
"connectionString":"[email protected]:5439/test"
}curl \
--request GET \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
https://demo.immuta.com/redshift/handler/41{
"dataSourceId": 41,
"metadata": {
"ssl": true,
"port": 5439,
"query": null,
"table": "data",
"schema": "army",
"database": "test",
"hostname": "redshift.database.example.io",
"username": "user",
"eventTime": "fileinfo.creationtime",
"userFiles": [],
"dataSourceName": "Army Data",
"bodataTableName": "data",
"bodataSchemaName": "army",
"columnsNormalized": false,
"schemaProjectName": "Army",
"staleDataTolerance": 86400
},
"type": "odbcHandler",
"connectionString": "[email protected]:5439/test",
"id": 41,
"createdAt": "2021-10-01T18:15:09.139Z",
"updatedAt": "2021-10-01T18:15:09.274Z",
"dbms": {
"name": "redshift"
}
}curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/redshift/handler/41{
"handler": {
"policyHandler": null,
"dataSourceId": 41,
"metadata": {
"ssl": true,
"port": 5439,
"table": "data",
"schema": "army",
"database": "test",
"hostname": "redshift.database.example.io",
"username": "user",
"eventTime": "fileinfo.creationtime",
"userFiles": [],
"dataSourceName": "Army Data",
"bodataTableName": "data",
"bodataSchemaName": "army",
"columnsNormalized": false,
"schemaProjectName": "Army",
"staleDataTolerance": 86400,
"columns": [{
"name": "text",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "hashed_id",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "filename",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "storage_location",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "size",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "owner",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dc:publisher",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:page-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "publisher",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:template",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "application-version",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "revision-number",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "page-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "character-count-with-spaces",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "xmptpg:npages",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "creation-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:last-author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:application",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:creation-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "custom:contenttypeid",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "creator",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "x-parsed-by",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "content-type",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:totaltime",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "application-name",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:character-count-with-spaces",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:save-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "line-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "template",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:character-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-save-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dcterms:modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:line-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dcterms:created",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "word-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:company",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dc:creator",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:word-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:paragraph-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:appversion",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "total-time",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "cp:revision",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.group",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.isdirectory",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.isother",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.permissions",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.issymboliclink",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.size",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "fileinfo.file",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.filename",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.filekey",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.isregularfile",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.creationtime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.lastmodifiedtime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.lastaccesstime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.owner",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "topsecretboolean",
"dataType": "double precision",
"remoteType": "double precision",
"nullable": true
}, {
"name": "secretboolean",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "confidentialsecretboolean",
"dataType": "double precision",
"remoteType": "double precision",
"nullable": true
}, {
"name": "classificationlevel",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "releasability",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "compartment",
"dataType": "text",
"remoteType": "string",
"nullable": true
}],
"password": "yourpassword"
},
"type": "odbcHandler",
"connectionString": "[email protected]:5439/test",
"id": 41,
"createdAt": "2021-10-01T18:15:09.139Z",
"updatedAt": "2021-10-01T18:15:09.274Z",
"dbms": {
"name": "redshift"
}
}
}{
"id": 41,
"ca": ["-----BEGIN CERTIFICATE-----\ncertificatedata\n-----END CERTIFICATE-----"],
"metadata": {
"columns": [{
"name": "text",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "hashed_id",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "filename",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "storage_location",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "size",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "owner",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dc:publisher",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:page-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "publisher",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:template",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "application-version",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "revision-number",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "page-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "character-count-with-spaces",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "xmptpg:npages",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "creation-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:last-author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:application",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:creation-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:author",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "custom:contenttypeid",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "creator",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "x-parsed-by",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "content-type",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:totaltime",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "application-name",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:character-count-with-spaces",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:save-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "line-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "template",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:character-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-save-date",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "last-modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dcterms:modified",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:line-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dcterms:created",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "word-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:company",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "dc:creator",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:word-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "meta:paragraph-count",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "extended-properties:appversion",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "total-time",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "cp:revision",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.group",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.isdirectory",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.isother",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.permissions",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.issymboliclink",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.size",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "fileinfo.file",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.filename",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.filekey",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "fileinfo.isregularfile",
"dataType": "boolean",
"remoteType": "boolean",
"nullable": true
}, {
"name": "fileinfo.creationtime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.lastmodifiedtime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.lastaccesstime",
"dataType": "timestamp",
"remoteType": "timestamp",
"nullable": true
}, {
"name": "fileinfo.owner",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "topsecretboolean",
"dataType": "double precision",
"remoteType": "double precision",
"nullable": true
}, {
"name": "secretboolean",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "confidentialsecretboolean",
"dataType": "double precision",
"remoteType": "double precision",
"nullable": true
}, {
"name": "classificationlevel",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "releasability",
"dataType": "text",
"remoteType": "string",
"nullable": true
}, {
"name": "compartment",
"dataType": "text",
"remoteType": "string",
"nullable": true
}]
}
}curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/redshift/bulk{
"handler": {
"metadata": {
"ssl": true,
"port": 5439,
"database": "test",
"hostname": "redshift.database.example.io",
"username": "user",
"userFiles": [{
"keyName": "testcert",
"filename": "bf349cbbfd3bc4eaf4ace7824a599fbc7cb5f7d5.json",
"userFilename": "certificate.json"
}],
"password": "yourpassword"
}
},
"connectionString": "[email protected]:5000/test"
}{
"bulkId": "bulk_ds_update_f50a8010dca03c07bcd0dc55eaf13c07",
"connectionString": "[email protected]:5000/tpc",
"jobsCreated": 2
}curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
https://demo.immuta.com/redshift/handler/41/triggerHighCardinalityJob0f5f08d0-22ee-11ec-b2b8-874838eeef05curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
https://demo.immuta.com/redshift/handler/7/refreshNativeViewJob53c256d0-eb57-11ec-b275-d95a8e998142