PySpark выдает временные токены AWS для аутентификации с помощью s3 - PullRequest
0 голосов
/ 26 сентября 2019

Я настроил свой локальный PySpark, но каждый раз, когда я пытаюсь прочитать файлы s3 с протоколом s3a, он возвращает 403 AccessDenied Error.Учетная запись, к которой я пытаюсь подключиться, поддерживает только AWS acceptRole и дает мне временные Access_key, Secret_key и session_token

Я использую spark 2.4.4, hadoop 2.7.3 и aws-java-sdk-1.7.4 jar-файлов.Я знаю, что проблема не в моем маркере безопасности, поскольку я могу использовать те же учетные данные в boto3 для запроса того же сегмента.Я настраиваю сеанс saprk следующим образом:

spark.sparkContext._conf.setAll([
[('fs.s3a.impl', 'org.apache.hadoop.fs.s3a.S3AFileSystem'), 
('fs.s3a.aws.credentials.provider','org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider'),
("fs.s3a.endpoint", "s3-ap-southeast-2.amazonaws.com"),
('fs.s3a.access.key', "..."),
('fs.s3a.secret.key', "..."),
('fs.s3a.session.token', "...")])
])

spark_01 = spark.builder.config(conf=conf).appName('s3connection').getOrCreate()

df = spark_01.read.load('s3a://<some bucket>')

Я получаю следующую ошибку: com.amazonaws.services.s3.model.AmazonS3Exception: код состояния: 403, сервис AWS: Amazon S3, запрос AWSID: ..., код ошибки AWS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...