удалить файл из Google Storage из задания Dataflow

У меня есть поток данных, созданный с помощью apache-beam в python 3.7, где я обрабатываю файл, а затем мне нужно его удалить. Файл поступает из корзины хранилища Google, и проблема в том, что когда я использую средство запуска DataflowRunner, моя работа не работает, потому что API-интерфейс Google-облачного хранилища не установлен в среде Python 3,7 Google Dataflow. Вы знаете, ребята, как я могу удалить этот файл в моем потоке данных без использования этого API? Я видел модули apache_beam, такие как https://beam.apache.org/releases/pydoc/2.22.0/apache_beam.io.filesystem.html, но я понятия не имею, как их использовать, и не нашел учебник или пример того, как использовать этот модуль.

1 ответ

Я не думаю, что вы можете удалить при выполнении задания потока данных. Вы должны удалить файл после завершения задания потока данных. Обычно я рекомендую какую-то оркестровку, например, apache airflow или Google Cloud Composer.

Вы можете сделать DAG в воздушном потоке следующим образом:

Вот,

"Пользовательский рабочий процесс DAG" будет иметь задание потока данных.
"Пользовательский код Python" будет содержать код Python для удаления файла.

Обратитесь - https://github.com/GoogleCloudPlatform/professional-services/tree/master/examples/cloud-composer-examples/composer_dataflow_examples