Подключение Apache Drill к Amazon S3 с помощью DefaultAWSCredentialsProviderChain - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь подключить 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
}

1 Ответ

1 голос
/ 26 сентября 2019

Apache Drill не поддерживает ~/.aws/credentials, но поддерживает Hadoop CredentialProvider API .Чтобы использовать его, вам нужно создать внешний поставщик учетных данных и установить свойство "hadoop.security.credential.provider.path" (указывающее на поставщика) в разделе "config" плагина S3 Storage Drill.

Кроме того, вы можете сохранить свои учетные данные в Drill's core-site.xml .

...