Create a Starburst (Trino) Data Source
Starburst (Trino) data source API reference guide
Last updated
Starburst (Trino) data source API reference guide
Last updated
The trino
endpoint allows you to connect and manage Trino data sources in Immuta.
Additional fields may be included in some responses you receive; however, these attributes are for internal purposes and are therefore undocumented.
POST
/trino/handler
Save the provided connection information as a data source.
Attribute | Description | Required |
---|---|---|
This request creates a Trino data source.
curl \
--request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/trino/handler
{
"handler": {
"metadata": {
"staleDataTolerance": 86400,
"schemaProjectName": "Public",
"bodataSchemaName": "public",
"columns": [{
"name": "c_customer_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_customer_id",
"dataType": "text",
"remoteType": "char(16)",
"nullable": true
}, {
"name": "c_current_cdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_hdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_addr_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_shipto_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_sales_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_salutation",
"dataType": "text",
"remoteType": "varchar(10)",
"nullable": true
}, {
"name": "c_first_name",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_last_name",
"dataType": "text",
"remoteType": "varchar(30)",
"nullable": true
}, {
"name": "c_preferred_cust_flag",
"dataType": "text",
"remoteType": "char(1)",
"nullable": true
}, {
"name": "c_birth_day",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_month",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_year",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_country",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_login",
"dataType": "text",
"remoteType": "char(13)",
"nullable": true
}, {
"name": "c_email_address",
"dataType": "text",
"remoteType": "varchar(50)",
"nullable": true
}, {
"name": "c_last_review_date",
"dataType": "text",
"remoteType": "varchar(10)",
"nullable": true
}],
"hostname": "example-trino.host.io",
"port": 8080,
"ssl": false,
"authenticationMethod": "No Authentication",
"connectionStringOptions": "",
"userFiles": [],
"database": "public",
"sid": "postgres",
"table": "customer",
"schema": "public",
"bodataTableName": "customer",
"dataSourceName": "Customer"
}
},
"dataSource": {
"blobHandler": {
"scheme": "https",
"url": ""
},
"blobHandlerType": "Trino",
"recordFormat": "",
"type": "queryable",
"schemaEvolutionId": null,
"columnEvolutionEnabled": true,
"name": "Customer",
"sqlTableName": "customer"
},
"schemaEvolution": {
"ownerProfileId": 1,
"config": {
"nameTemplate": {
"nameFormat": "<Tablename>",
"tableFormat": "<tablename>",
"sqlSchemaNameFormat": "<schema>",
"schemaProjectNameFormat": "<Schema>"
}
},
"schemas": []
}
}
{
"id": 1,
"dataSourceId": 1,
"dataSource": {
"blobHandler": {
"accessKey": "REDACTED",
"url": "https://REDACTED/trino/handler/1",
"ca": ["-----BEGIN CERTIFICATE-----\nyourdXRhIENcertificate\n-----END CERTIFICATE-----"],
"manualDictionary": false
},
"blobHandlerType": "Trino",
"recordFormat": "Not Provided",
"type": "queryable",
"schemaEvolutionId": 1,
"columnEvolutionEnabled": true,
"name": "Customer",
"sqlTableName": "customer",
"sqlSchemaName": "public",
"workspace": null,
"rowCount": 0,
"seeded": false,
"owner": {},
"documentation": "# Customer",
"statsExpiration": "2022-07-19T18:55:21.300Z",
"recordCount": 0,
"createdBy": 1,
"policyHandler": null,
"subscriptionType": "manual",
"id": 1,
"description": null,
"deleted": false,
"policyHandlerType": "None",
"subscriptionPolicy": null,
"globalPolicies": null,
"status": null,
"statusInfo": null,
"catalogMetadata": null,
"createdAt": "2022-07-19T18:55:21.302Z",
"updatedAt": "2022-07-19T18:55:21.302Z",
"tags": []
},
"warnings": []
}
GET
/trino/handler/{handlerId}
Get the handler metadata associated with the provided handler ID.
This request returns metadata for the handler with the ID 1
.
curl \
--request GET \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
https://demo.immuta.com/trino/handler/1
{
"dataSourceId": 1,
"metadata": {
"sid": "postgres",
"ssl": false,
"port": 8080,
"query": null,
"table": "customer",
"schema": "public",
"database": "public",
"hostname": "trino-example-database.io",
"ephemeral": true,
"eventTime": null,
"userFiles": [],
"dataSourceName": "Customer",
"bodataTableName": "customer",
"highCardinality": "c_customer_sk",
"bodataSchemaName": "public",
"columnsNormalized": false,
"schemaProjectName": "Public",
"staleDataTolerance": 0,
"authenticationMethod": "No Authentication",
"connectionStringOptions": null
},
"type": "queryable",
"connectionString": "trino-example-database.io:8080/postgres/public",
"id": 1,
"createdAt": "2022-07-19T18:55:21.220Z",
"updatedAt": "2022-07-19T18:55:23.466Z",
"dbms": {
"name": "trino"
}
}
PUT
/trino/handler/{handlerId}
Update the data source metadata associated with the provided handler ID. This endpoint does not perform partial updates, but will allow the dictionary to be omitted. In this case, it uses the current dictionary.
This request updates the data source name to Marketing Data
for the data source with the handler ID 1
.
curl \
--request PUT \
--header "Content-Type: application/json" \
--header "Authorization: Bearer dea464c07bd07300095caa8" \
--data @example-payload.json \
https://demo.immuta.com/trino/handler/1
{
"handler": {
"policyHandler": null,
"dataSourceId": 1,
"metadata": {
"sid": "postgres",
"ssl": false,
"port": 8080,
"query": null,
"table": "customer",
"schema": "public",
"database": "public",
"hostname": "trino-example.io",
"ephemeral": true,
"eventTime": null,
"userFiles": [],
"dataSourceName": "Marketing Data",
"bodataTableName": "customer",
"highCardinality": "c_customer_sk",
"bodataSchemaName": "public",
"columnsNormalized": false,
"schemaProjectName": "Public",
"staleDataTolerance": 0,
"authenticationMethod": "No Authentication",
"connectionStringOptions": "",
"columns": [{
"name": "c_customer_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_customer_id",
"dataType": "text",
"remoteType": "char(16)",
"nullable": true
}, {
"name": "c_current_cdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_hdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_addr_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_shipto_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_sales_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_salutation",
"dataType": "text",
"remoteType": "varchar(10)",
"nullable": true
}, {
"name": "c_first_name",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_last_name",
"dataType": "text",
"remoteType": "varchar(30)",
"nullable": true
}, {
"name": "c_preferred_cust_flag",
"dataType": "text",
"remoteType": "char(1)",
"nullable": true
}, {
"name": "c_birth_day",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_month",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_year",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_country",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_login",
"dataType": "text",
"remoteType": "char(13)",
"nullable": true
}, {
"name": "c_email_address",
"dataType": "text",
"remoteType": "varchar(50)",
"nullable": true
}, {
"name": "c_last_review_date",
"dataType": "text",
"remoteType": "varchar(10)",
"nullable": true
}]
},
"type": "queryable",
"connectionString": "trino-example.io:8080/postgres/public",
"id": 1,
"createdAt": "2022-07-19T18:55:21.220Z",
"updatedAt": "2022-07-19T18:55:23.466Z",
"dbms": {
"name": "trino"
}
}
}
{
"id": 1,
"ca": ["-----BEGIN CERTIFICATE-----\nMIIuyourcertificate\n-----END CERTIFICATE-----"],
"metadata": {
"columns": [{
"name": "c_customer_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_customer_id",
"dataType": "text",
"remoteType": "char(16)",
"nullable": true
}, {
"name": "c_current_cdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_hdemo_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_current_addr_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_shipto_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_first_sales_date_sk",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_salutation",
"dataType": "text",
"remoteType": "varchar(10)",
"nullable": true
}, {
"name": "c_first_name",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_last_name",
"dataType": "text",
"remoteType": "varchar(30)",
"nullable": true
}, {
"name": "c_preferred_cust_flag",
"dataType": "text",
"remoteType": "char(1)",
"nullable": true
}, {
"name": "c_birth_day",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_month",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_year",
"dataType": "integer",
"remoteType": "integer",
"nullable": true
}, {
"name": "c_birth_country",
"dataType": "text",
"remoteType": "varchar(20)",
"nullable": true
}, {
"name": "c_login",
"dataType": "text",
"remoteType": "char(13)",
"nullable": true
}, {
"name": "c_email_address",
"dataType": "text",
"remoteType": "varchar(50)",
"nullable": true
}, {
"name": "c_last_review_date",
"dataType": "text",
"remoteType": "varchar(10)",