由于 Beam-nuggets 引用 sqlalchemy,数据流作业失败

Dataflow jobs are failed due to Beam-nuggets referencing to sqlalchemy

我们在 GCP 中创建了一个 ETL,它从 MySQL 读取数据并将其迁移到 BigQuery。要从 MySQL 读取数据,我们使用 beam-nuggets 库。此库作为额外包 ('--extra_package=beam-nuggets-0.17.1.tar.gz') 传递给数据流作业。云函数用于创建数据流作业。代码运行良好,数据流作业已创建,数据迁移成功。

最新版sqlalchemy – 1.4发布后,我们无法部署云函数。云函数部署失败,异常如下所述。

为了解决这个问题,我们尝试在云函数的requirements.txt文件中给出以前版本的sqlalchemy – 1.3.23。这解决了问题,并且云功能已成功部署。但是当我们从云函数触发数据流作业时,我们得到了与上述相同的错误。 造成此问题的原因是 beam-nuggets 库在 运行 时间内在内部引用 sqlalchemy,并且作业失败并出现相同的错误。是否可以手动强制执行 beam-nuggets 以选择特定版本的 sqlalchemy?

也尝试通过 extra_package 标志传递特定版本的 sqlalchemy。