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 替换 HostPort,以唯一标识集群。

IAM 认证

使用在 hook 初始化时提供的 AWS IAM profile 来检索连接到 Amazon Redshift 的临时密码。Port 是必需的。如果未提供,则使用默认值 (5439)。LoginSchema 也是必需的。这假设所有其他连接字段都是空的。在这种方法中,如果 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"
}

此条目是否有帮助?