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)。这假设所有其他连接字段(例如登录名)为空。在这种方法中,cluster_identifier 将替换 Host 和 Port,以便唯一标识集群。
IAM 身份验证
使用在 hook 初始化时给定的 AWS IAM 配置文件检索用于连接到 Amazon Redshift 的临时密码。端口是必需的。如果未提供,则使用默认端口 (5439)。还必须提供登录名和模式。这假设所有其他连接字段为空。在这种方法中,如果未在额外配置中设置 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 无服务器一起使用,则需要将 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"
}