Apache Beam Python и чтение воздушного потока из GCS приводит к TypeError ("__ init __ () получил неожиданный аргумент ключевого слова \ 'response_encoding \'" - PullRequest
0 голосов
/ 21 января 2019

доступ к корзине GCS из Google Cloud Composer приводит к ошибке типа:

DEBUG:apache_beam.io.filesystem:Listing files in 'gs://BUCKET_NAME/FILENAME.2019-01-20'
DEBUG:apache_beam.io.filesystem:translate_pattern: 'gs://BUCKET_NAME/FILENAME.2019-01-20*' -> 'gs\\:\\/\\/BUCKET_NAME\\/FILENAME\\.2019\\-01\\-20[^/\\\\]*'
DEBUG:root:Connecting using Google Application Default Credentials.
File "/usr/local/lib/python2.7/site-packages/apache_beam/io/textio.py", line 524, in __init__
INFO - skip_header_lines=skip_header_lines)
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/io/textio.py", line 119, in __init__
INFO - validate=validate)
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/io/filebasedsource.py", line 121, in __init__
INFO - self._validate()
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/options/value_provider.py", line 137, in _f
INFO - return fnc(self, *args, **kwargs)
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/io/filebasedsource.py", line 178, in _validate
INFO - match_result = FileSystems.match([pattern], limits=[1])[0]
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/io/filesystems.py", line 187, in match
INFO - return filesystem.match(patterns, limits)
INFO - File "/usr/local/lib/python2.7/site-packages/apache_beam/io/filesystem.py", line 705, in match
raise BeamIOError("Match operation failed", exceptions)
apache_beam.io.filesystem.BeamIOError: Match operation failed with exceptions {'gs://BUCKET_NAME/FILENAME.2019-01-20*': BeamIOError('List operation failed with exceptions {\'gs://BUCKET_NAME/FILENAME..2019-01-20\': TypeError("__init__() got an unexpected keyword argument \'response_encoding\'",)}',)}
Command exited with return code 1

Корзина расположена в другом проекте gcp, и композитор работает с использованием стандартной служебной учетной записи с правами как compute-engineредактор, который также имеет права «просмотрщика хранилища» в корзине.Я понятия не имею, как эта ошибка может быть исправлена, или это проблема прав доступа.Может быть, кто-то может помочь или указать мне правильное направление?

Спасибо

1 Ответ

0 голосов
/ 15 мая 2019

Эту проблему можно решить, добавив в требования правильный пакет. Для использования Google Cloud Storage в Apache Beam версии 2.9.0 вам понадобится apache-beam [gcp], а не только apache-beam.

...