Я пытаюсь подключить apache Drill к моему aws s3 без указания ключа доступа и секретного ключа в конфигурации, поэтому я добавляю
"fs.s3a.aws.credentials.provider": "com.amazonaws.auth.DefaultAWSCredentialsProviderChain"
в конфигурации, надеясь, что он получит учетные данные из файла профилей учетных данных по умолчанию на моем ПК и получит роль IAM при его развертывании.
Когда я указываю ключ доступа и секретный ключ в конфигурации, соединение работает нормально, но после того, как я перехожу в конфигурацию, чтобы использовать DefaultAWSCredentialsProviderChain
, это не сработало.
Дрель показывает это, когда я пытаюсь использовать хранилище s3
Error: SYSTEM ERROR: AmazonClientException: Unable to load AWS credentials from any provider in the chain
Я могу писать в s3, используя DefaultAWSCredentialsProviderChain
с org.apache.parquet.hadoop.ParquetWriter
, и могу читать ведро s3 с помощью awscli без каких-либо проблем
вот моя конфигурация плагина хранилища
{
"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
}