Amazon Redshift 连接¶
Redshift 连接类型支持与 Redshift 集成。
连接到 Amazon Redshift 的认证¶
认证可以通过 redshift_connector 支持的任何认证方法进行,例如直接凭据、IAM 认证或使用身份提供者 (IdP) 插件。
默认连接 ID¶
默认连接 ID 为 redshift_default。
配置连接¶
- 主机 (可选)
- 指定 Amazon Redshift 集群端点。 
- 模式 (可选)
- 指定 Amazon Redshift 数据库名称。 
- 登录 (可选)
- 指定用于 Amazon Redshift 认证的用户名。 
- 密码 (可选)
- 指定用于 Amazon Redshift 认证的密码。 
- 端口 (可选)
- 指定用于与 Amazon Redshift 交互的端口。 
- 额外参数 (可选)
- 指定可在 Amazon Redshift 连接中使用的额外参数(以 JSON 字典形式)。有关支持参数的完整列表,请参阅 redshift_connector 的文档。 
如果通过 URI 配置连接,请确保 URI 的所有组成部分都已进行 URL 编码。
示例¶
数据库认证
- 模式: - Dev
- 主机: - redshift-cluster-1.123456789.us-west-1.redshift.amazonaws.com
- 登录: - awsuser
- 密码: - ********
- 端口: - 5439
凭据认证
使用连接中的凭据连接到 Amazon Redshift。端口是必需的。如果未提供,则使用默认值 (5439)。这假设所有其他连接字段(例如 Login)都是空的。在这种方法中,使用 cluster_identifier 替换 Host 和 Port,以唯一标识集群。
IAM 认证
使用在 hook 初始化时提供的 AWS IAM profile 来检索连接到 Amazon Redshift 的临时密码。Port 是必需的。如果未提供,则使用默认值 (5439)。Login 和 Schema 也是必需的。这假设所有其他连接字段都是空的。在这种方法中,如果 extra 中未设置 cluster_identifier,则会自动从连接的 Host 字段推断。有关通过 AWS IAM 认证生成数据库用户凭据的更多详细信息。
- 额外参数: 
{
  "iam": true,
  "cluster_identifier": "redshift-cluster-1",
  "port": 5439,
  "region": "us-east-1",
  "db_user": "awsuser",
  "database": "dev",
  "profile": "default"
}
如果想将 IAM 用于 Amazon Redshift Serverless,需要将 is_serverless 设置为 true 并提供 serverless_work_group。还可以设置 serverless_token_duration_seconds 来指定返回的临时密码过期前的秒数;最小值为 900 秒,最大值为 3600 秒,默认为 3600 秒。
- 额外参数: 
{
  "iam": true,
  "is_serverless": true,
  "serverless_work_group": "default",
  "serverless_token_duration_seconds": 3600,
  "port": 5439,
  "region": "us-east-1",
  "database": "dev",
  "profile": "default"
}