---
title: Amazon AWS Redshift
slug: connectors/amazon-aws-redshift
docTags: 
createdAt: 2026-06-09T16:29:46.196Z
---

This connector allows Turbine to execute SQL statements on AWS Redshift.

## Asset Setup

This integration authenticates with AWS Redshift using the following input values:

- AWS Access Key ID: A long-term AWS access key ID with access to Redshift.
- AWS Secret Key ID: A long-term secret access key associated with the above AccessKey ID.
- Region Name: The AWS region.
- Role ARN: An ARN of an AWS IAM Role to assume.

## Capabilities

This connector has the following capabilities:

- Execute Statement
- Get Statement Result

### Obtaining AWS Credentials

To use this integration, you will need to have an AWS account and obtain the necessary AWS credentials. You can obtain these credentials by following the steps below:

- Log in to your AWS account and navigate to the IAM console.
- In the left navigation pane, click on the "Users" tab and select the user for which you want to create credentials.
- Click on the "Security credentials" tab, and then click on the "Create access key".
- Make sure to save the access key ID and secret access key in a secure location, as you will not be able to see the secret access key again after this step.
- If you want to use an AWS IAM Role, you will need to have the ARN of the role and an optional External ID, if one was specified by the AWS account administrator.

## Notes

Temporary credentials - when connecting to your data warehouse, choose one of the following options:

- When connecting to a serverless workgroup, specify the workgroup name and database name. The database user name is derived from the IAM identity. For example, arn\:iam\::123456789012\:user\:foo has the database username IAM\:foo. Also, permission to call the redshift-serverless\:GetCredentials operation is required.
- When connecting to a cluster as an IAM identity, specify the cluster identifier and the database name. The database user name is derived from the IAM identity. For example, arn\:iam\::123456789012\:user\:foo has the database username IAM\:foo. Also, permission to call the redshift\:GetClusterCredentialsWithIAM operation is required.
- When connecting to a cluster as a database user, specify the cluster identifier, the database name, and the database user name. Also, permission to call the redshift\:GetClusterCredentials operation is required.

[AWS Account and Access Keys](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html)

[Boto3 Redshift Documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/redshift-data.html#redshiftdataapiservice)

[For more information about Amazon Redshift, Click here!](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html)

# Configurations

## Asset

Authenticates using AWS credentials

### Configuration Parameters

| **Parameter**            | **Description**                                         | **Type** | **Required** |
| ------------------------ | ------------------------------------------------------- | -------- | ------------ |
| aws\_access\_key\_id     | A specific long-term AWS access key ID                  | string   | Required     |
| aws\_secret\_access\_key | A specific long-term AWS secret access key              | string   | Required     |
| region\_name             | The AWS Region where you want to create new connections | string   | Required     |
| role\_arn                | Role ARN                                                | string   | Required     |

# Actions

## Execute Statement

Runs one or more SQL statements.

### Input

| **Argument Name**   | **Type** | **Required** | **Description**                                                                                                                              |
| ------------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `ClientToken`       | string   | Optional     | A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This field is auto populated if not provided. |
| `ClusterIdentifier` | string   | Optional     | This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.            |
| `Database`          | string   | Required     | The name of the database.                                                                                                                    |
| `Parameters`        | array    | Optional     | Parameters for the Execute Statement action                                                                                                  |
| `Parameters.name`   | string   | Optional     | Parameters for the Execute Statement action                                                                                                  |
| `Parameters.value`  | string   | Optional     | Parameters for the Execute Statement action                                                                                                  |
| `DbUser`            | string   | Optional     | The database user name.                                                                                                                      |
| `SecretArn`         | string   | Optional     | The name or ARN of the secret that enables access to the database.                                                                           |
| `Sql`               | string   | Required     | The SQL statement text to run.                                                                                                               |
| `StatementName`     | string   | Optional     | The name of the SQL statements.                                                                                                              |
| `WithEvent`         | boolean  | Optional     | A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statements run.                            |
| `WorkgroupName`     | string   | Optional     | The serverless workgroup name or Amazon Resource Name (ARN).                                                                                 |

### Input Example

`{"Parameters":[{"name":"string","value":"string"}]}`

### Output

| **Parameter**       | **Type** | **Description**         |
| ------------------- | -------- | ----------------------- |
| `ClusterIdentifier` | string   | Unique identifier       |
| `CreatedAt`         | string   | Output field: CreatedAt |
| `Database`          | string   | Response data           |
| `DbUser`            | string   | Output field: DbUser    |
| `Id`                | string   | Unique identifier       |
| `SecretArn`         | string   | Output field: SecretArn |
| `WorkgroupName`     | string   | Name of the resource    |

### Output Example

`{"ClusterIdentifier":"string","CreatedAt":"02/23/2012","Database":"string","DbUser":"string","Id":"string","SecretArn":"string","WorkgroupName":"string"}`

## Get Statement Result

Fetches the temporarily cached result of an SQL statement.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                                                                         |
| ----------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------- |
| `id`              | string   | Required     | This value is a universally unique identifier (UUID) generated by Amazon Redshift Data API.             |
| `NextToken`       | string   | Optional     | A value that indicates the starting point for the next set of response records in a subsequent request. |

### Input Example

`{"id":"12345678-1234-1234-1234-123456789abc","NextToken":"string"}`

### Output

| **Parameter**                    | **Type** | **Description**                |
| -------------------------------- | -------- | ------------------------------ |
| `ColumnMetadata`                 | array    | Response data                  |
| `ColumnMetadata.columnDefault`   | string   | Response data                  |
| `ColumnMetadata.isCaseSensitive` | boolean  | Response data                  |
| `ColumnMetadata.isCurrency`      | boolean  | Response data                  |
| `ColumnMetadata.isSigned`        | boolean  | Response data                  |
| `ColumnMetadata.label`           | string   | Response data                  |
| `ColumnMetadata.length`          | number   | Response data                  |
| `ColumnMetadata.name`            | string   | Response data                  |
| `ColumnMetadata.nullable`        | number   | Response data                  |
| `ColumnMetadata.precision`       | number   | Response data                  |
| `ColumnMetadata.scale`           | number   | Response data                  |
| `ColumnMetadata.schemaName`      | string   | Response data                  |
| `ColumnMetadata.tableName`       | string   | Response data                  |
| `ColumnMetadata.typeName`        | string   | Response data                  |
| `NextToken`                      | string   | Output field: NextToken        |
| `Records`                        | array    | Output field: Records          |
| `Records.0`                      | object   | Output field: Records.0        |
| `Records.0.booleanValue`         | boolean  | Value for the parameter        |
| `Records.0.doubleValue`          | number   | Value for the parameter        |
| `Records.0.isNull`               | boolean  | Output field: Records.0.isNull |
| `Records.0.longValue`            | number   | Value for the parameter        |
| `Records.0.stringValue`          | string   | Value for the parameter        |
| `TotalNumRows`                   | number   | Output field: TotalNumRows     |

### Output Example

`{"ColumnMetadata":[{"columnDefault":"string","isCaseSensitive":true,"isCurrency":true,"isSigned":false,"label":"string","length":123,"name":"string","nullable":123,"precision":123,"scale":123,"schemaName":"string","tableName":"string","typeName":"string"}],"NextToken":"string","Records":[[{}]],"TotalNumRows":123}`

# Response Headers

| **Header**   | **Description**                                       | **Example**                   |
| ------------ | ----------------------------------------------------- | ----------------------------- |
| Content-Type | The media type of the resource                        | application/json              |
| Date         | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
