使用 DefaultAWSCredentialsProviderChain 将 Apache Drill 连接到 Amazon S3
Connecting Apache Drill to Amazon S3 using DefaultAWSCredentialsProviderChain
我试图将 apache drill 连接到我的 aws s3,但没有在配置中指定我的访问密钥和密钥,所以我添加了
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
在配置中希望它将从我的 PC 中的默认凭证配置文件中获取凭证,并在我部署它时获取 IAM 角色。
当我在配置中指定访问密钥和密钥时,连接工作正常,但在我更改为使用配置后 DefaultAWSCredentialsProviderChain
它没有工作
当我尝试使用 s3 存储时,钻头显示了这个
Error: SYSTEM ERROR: AmazonClientException: Unable to load AWS credentials from any provider in the chain
我可以使用 DefaultAWSCredentialsProviderChain
和 org.apache.parquet.hadoop.ParquetWriter
写入 s3,并且可以使用 awscli 毫无问题地读取 s3 存储桶
这是我的存储插件配置
{
"type": "file",
"connection": "s3a://my-bucket",
"config": {
"fs.s3a.endpoint": "s3.REGION.amazonaws.com",
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
},
"workspaces": {
"tmp": {
"location": "/tmp",
"writable": true,
"defaultInputFormat": null,
"allowAccessOutsideWorkspace": false
},
"root": {
"location": "/",
"writable": false,
"defaultInputFormat": null,
"allowAccessOutsideWorkspace": false
}
},
"formats": {
"parquet": {
"type": "parquet"
}
},
"enabled": true
}
Apache Drill 不支持 ~/.aws/credentials
,但支持 Hadoop CredentialProvider API. To be able to use it, you need to create an external credentials provider 并在 Drill 的 "config"
部分设置 "hadoop.security.credential.provider.path"
属性(指向提供商) S3 存储插件。
或者,您可以将您的凭据存储在 Drill 的 core-site.xml 中。
我试图将 apache drill 连接到我的 aws s3,但没有在配置中指定我的访问密钥和密钥,所以我添加了
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
在配置中希望它将从我的 PC 中的默认凭证配置文件中获取凭证,并在我部署它时获取 IAM 角色。
当我在配置中指定访问密钥和密钥时,连接工作正常,但在我更改为使用配置后 DefaultAWSCredentialsProviderChain
它没有工作
当我尝试使用 s3 存储时,钻头显示了这个
Error: SYSTEM ERROR: AmazonClientException: Unable to load AWS credentials from any provider in the chain
我可以使用 DefaultAWSCredentialsProviderChain
和 org.apache.parquet.hadoop.ParquetWriter
写入 s3,并且可以使用 awscli 毫无问题地读取 s3 存储桶
这是我的存储插件配置
{
"type": "file",
"connection": "s3a://my-bucket",
"config": {
"fs.s3a.endpoint": "s3.REGION.amazonaws.com",
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
},
"workspaces": {
"tmp": {
"location": "/tmp",
"writable": true,
"defaultInputFormat": null,
"allowAccessOutsideWorkspace": false
},
"root": {
"location": "/",
"writable": false,
"defaultInputFormat": null,
"allowAccessOutsideWorkspace": false
}
},
"formats": {
"parquet": {
"type": "parquet"
}
},
"enabled": true
}
Apache Drill 不支持 ~/.aws/credentials
,但支持 Hadoop CredentialProvider API. To be able to use it, you need to create an external credentials provider 并在 Drill 的 "config"
部分设置 "hadoop.security.credential.provider.path"
属性(指向提供商) S3 存储插件。
或者,您可以将您的凭据存储在 Drill 的 core-site.xml 中。