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"
}