Skip to navigation

Supports:

  • ✅ Models
  • ✅ Model sync destination
  • ✅ Bulk sync source
  • ✅ Bulk sync destination

Connection

Configuration

NameTypeDescriptionRequired
connection_methodstringConnection method

Accepted values: data_api ↓, endpoint ↓
required
databasestringDatabaserequired
iam_role_arnstringIAM role ARNrequired
regionstringRegionoptional
s3_bucket_namestringS3 bucket name (destination/unload support only)

(required if use_unload is “true”)
optional
s3_bucket_regionstringS3 bucket region (destination/unload support only)

(required if use_unload is “true”)
optional
use_bulk_sync_staging_schemabooleanUse custom bulk sync staging schema ↓optional
use_unloadbooleanRead data using unloadoptional
workgroupstringWorkgrouprequired
Read-only propertyTypeDescription
external_idstringExternal ID

connection_method = data_api

NameTypeDescriptionRequired
override_endpointbooleanOverride Redshift Data API endpoint ↓optional
{
"name": "Redshift Serverless connection",
"type": "redshiftserverless",
"configuration": {
"connection_method": "data_api",
"database": "users",
"iam_role_arn": "arn:aws:iam::012345678910:role/role",
"override_endpoint": false,
"region": "us-west-2",
"s3_bucket_name": "my-bucket",
"s3_bucket_region": "us-west-2",
"use_bulk_sync_staging_schema": false,
"use_unload": false,
"workgroup": "default"
}
}
override_endpoint

When override_endpoint is true:

NameTypeDescriptionRequired
data_api_endpointstringRedshift Data API endpoint

Example: https://redshift-data.us-west-2.amazonaws.com
optional
{
"name": "Redshift Serverless connection",
"type": "redshiftserverless",
"configuration": {
"connection_method": "data_api",
"data_api_endpoint": "",
"database": "users",
"iam_role_arn": "arn:aws:iam::012345678910:role/role",
"override_endpoint": true,
"region": "us-west-2",
"s3_bucket_name": "my-bucket",
"s3_bucket_region": "us-west-2",
"use_bulk_sync_staging_schema": false,
"use_unload": false,
"workgroup": "default"
}
}

connection_method = endpoint

NameTypeDescriptionRequired
endpointstringRedshift Serverless endpointoptional
{
"name": "Redshift Serverless connection",
"type": "redshiftserverless",
"configuration": {
"connection_method": "endpoint",
"database": "users",
"endpoint": "acme.12345.us-west-2.redshift-serverless.amazonaws.com:5439",
"iam_role_arn": "arn:aws:iam::012345678910:role/role",
"region": "us-west-2",
"s3_bucket_name": "my-bucket",
"s3_bucket_region": "us-west-2",
"use_bulk_sync_staging_schema": false,
"use_unload": false,
"workgroup": "default"
}
}

use_bulk_sync_staging_schema

When use_bulk_sync_staging_schema is true:

NameTypeDescriptionRequired
bulk_sync_staging_schemastringStaging schema namerequired
{
"name": "Redshift Serverless connection",
"type": "redshiftserverless",
"configuration": {
"bulk_sync_staging_schema": "",
"connection_method": "data_api",
"database": "users",
"iam_role_arn": "arn:aws:iam::012345678910:role/role",
"override_endpoint": false,
"region": "us-west-2",
"s3_bucket_name": "my-bucket",
"s3_bucket_region": "us-west-2",
"use_bulk_sync_staging_schema": true,
"use_unload": false,
"workgroup": "default"
}
}

Model Sync

Source

Configuration

NameTypeDescriptionRequired
querystringoptional
schemastringSchemaoptional
tablestringTableoptional
viewstringViewoptional

Example

{
...
"configuration": {
"query": "SELECT * FROM sampledata.users",
"schema": "sampledata",
"table": "users",
"view": "active_users"
}
}

Target

Redshift Serverless connections may be used as the destination in a model sync.

All targets

Configuration
NameTypeDescriptionRequired
created_columnstring’Created at’ timestamp columnoptional
preserve_table_on_resyncbooleanPreserve destination table when resyncingoptional
updated_columnstring’Updated at’ timestamp columnoptional
write_record_timestampsbooleanWrite row timestamp metadataoptional
Example
{
...
"target": {
"configuration": {
"created_column": "",
"preserve_table_on_resync": false,
"updated_column": "",
"write_record_timestamps": false
}
}
}

Target creation

Redshift Serverless connections may be used to create a new target for a model sync. The following parameters are required to create a new target:

NAMEDESCRIPTIONENUM
nameTable namefalse

Bulk Sync

Source

Redshift Serverless connections may be used as a bulk sync source. No additional configuration options are required.

Destination

Configuration

NameTypeDescriptionRequired
advancedobjectoptional
mirror_schemasbooleanMirror schemasoptional
schemastringOutput schemaoptional

Example

{
...
"destination_configuration": {
"advanced": {
"empty_strings_null": true,
"hard_deletes": false,
"initial_execution": "rebuild",
"table_prefix": "",
"truncate_existing": false
},
"mirror_schemas": false,
"schema": "schema"
}
}

Type handling

Destination types

POLYTOMIC TYPEREDSHIFT SERVERLESS TYPE
array<>SUPER
bigintBIGINT
booleanBOOL
dateDATE
datetimeTIMESTAMP
decimal(precision, scale)NUMERIC(precision,scale)
doubleFLOAT8
intINTEGER
jsonSUPER
jsonarraySUPER
numberNUMERIC(38,18)
object{}SUPER
singleFLOAT4
smallintSMALLINT
stringVARCHAR(MAX)
timeVARCHAR(255)

Source types

REDSHIFT SERVERLESS TYPEPOLYTOMIC TYPE
4000json
BIGINTbigint
BOOLboolean
BOOLEANboolean
BPCHARstring
CHARstring
CHARACTERstring
CHARACTER VARYINGstring
DATEdate
DECIMALnumber
DECIMAL(precision, scale)decimal(precision, scale)
DOUBLE PRECISIONdouble
FLOATdouble
FLOAT4single
FLOAT8double
INTint
INT2smallint
INT4int
INT8bigint
INTEGERint
NCHARstring
NUMERICnumber
NUMERIC(precision, scale)decimal(precision, scale)
NVARCHARstring
REALsingle
SMALLINTsmallint
STRINGstring
TEXTstring
TIMEtime
TIME WITH TIME ZONEtime
TIME WITHOUT TIME ZONEtime
TIMESTAMPdatetime
TIMESTAMP WITH TIME ZONEdatetime_tz
TIMESTAMP WITHOUT TIME ZONEdatetime
TIMESTAMPTZdatetime_tz
TIMETZtime
VARCHARstring