我正在尝试建立从本地 DBeaver 到 Athena 的连接。具体来说,我有一个 IAM 配置文件,我认为这就是我的尝试失败的原因。
的R包建立了连接。
在R中,以下有效:
# r
con <- DBI::dbConnect(noctua::athena(),
profile_name = "default-prof",
region = "us-east-1",
s3_staging_dir = "s3://s3.foo.bar.baz",
schema_name = "my_schema_name",
duration_seconds = 3600,
role_arn = "arn:aws:iam::123456789123:role/FooRole",
work_group = "my-workgroup-foo"
)
请注意,
profile_name = "default-prof"
指的是我在本地计算机上的config
和credentials
中设置的配置文件。
# config
[profile default-prof]
region = us-east-1
output = json
# credentials
[default-prof]
aws_access_key_id = ********
aws_secret_access_key = *******
pyathena
。
我也尝试过这个建议:
转到 DBeaver Athena 连接上的驱动程序属性并设置:
- AwsCredentialsProviderClass 到 com.simba.athena.amazonaws.auth.profile.ProfileCredentialsProvider
- AwsCredentialsProviderArguments 等于您要使用的配置文件的名称(请参阅 ~/.aws/config 以查看您拥有哪些配置文件)——我们使用“默认”。
但是没有成功。
我还尝试为 IAM 创建一个自定义驱动程序属性,将其命名为
role_arn
,并放置 arn:aws:iam::123456789123:role/FooRole
,但没有成功。尝试将其命名为preferred_role
,但也不起作用。