Объект S3Hook воздушного потока не имеет атрибута load_bytes - PullRequest
0 голосов
/ 26 апреля 2018

Цель моего оператора - связаться с s3, а затем записать некоторые строковые данные в мое ведро s3.

Я увидел, что уже используется s3_hook.Я подумал, может быть, это лучший способ, чем использование boto3

Основная логика выглядит следующим образом:

from airflow.hooks.S3_hook import S3Hook
hook = S3Hook('test_s3')
log.info(hook.load_bytes('some_data', 'some_key', 'a_bucket'))

Тогда я получил ошибку вроде

У объекта 'S3Hook' нет атрибута 'load_bytes'

Я вполне уверен, что класс S3Hook имеет эту функцию (см. здесь ).

После этого я переключился на использование функции load_string.Однако воздушный поток выдает мне ошибку типа:

У объекта 'S3' нет атрибута 'upload_fileobj'

Я использую воздушный поток с поддержкой s3.Не уверен, почему у меня ошибка выше.Мое соединение test_s3 в порядке, так как я проверил свое test_s3 соединение, используя read_key для чтения некоторых текстовых файлов из s3 без каких-либо проблем.

У кого-нибудь еще есть подобная ситуация?Я очень смущен, где я скучал?Спасибо!

...