I'm trying to connect apache drill to my aws s3 without specifying my access key and secret key in the config, so I add
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
in the config hoping it will get the credentials from the default credential profiles file in my PC and get the IAM Role when I deploy it.
When I specify the access key and secret key in the config, the connection work just fine, but after I change to config to use DefaultAWSCredentialsProviderChain
it didn't work
the drill show this when i try to use s3 storage
Error: SYSTEM ERROR: AmazonClientException: Unable to load AWS credentials from any provider in the chain
I can write to s3 using the DefaultAWSCredentialsProviderChain
with org.apache.parquet.hadoop.ParquetWriter
and can read the s3 bucket using awscli without any problem
here is my storage plugin config
{
"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
}