У меня есть конвейер apache-beam == 2.3.0, написанный с использованием Python SDK, который работает с моим DirectRunner локально.Когда я изменяю бегунок на DataflowRunner, я получаю ошибку о том, что «хранилище» не является глобальным.
Проверка моего кода, я думаю, это потому, что я использую учетные данные, хранящиеся в моей среде.В своем коде Python я просто делаю:
class ExtractBlobs(beam.DoFn):
def process(self, element):
from google.cloud import storage
client = storage.Client()
yield list(client.get_bucket(element).list_blobs(max_results=100))
Реальная проблема заключается в том, что мне нужен клиент, чтобы я мог получить ведро, чтобы я мог и затем перечислить большие двоичные объекты . Все, что я здесь делаю, - это то, чтобы я мог составить список больших двоичных объектов.
Так что, если кто-нибудь может указать мне правильное направление использования 'storage.Client ()' в Dataflow или какперечислять капли ведра GCP без необходимости клиента.
Заранее спасибо![+] Что я прочитал: https://cloud.google.com/docs/authentication/production#auth-cloud-implicit-python