在 apache beam 2.9 上导入 cloud-spanner 时出错

Error importing cloud-spanner on apache beam 2.9

我正在尝试将一些 python apache beam 脚本更新到最新的 2.9 版本的 apache beam。当 运行 在 google 云数据流运行器上导入 from google.cloud.spanner import Client 的脚本时,我 运行 出现以下错误(直接运行器工作正常): https://gist.github.com/pascaldelange/f43cc1f6dc290291804b64b0db1cadfe

我有一个合适的 setup.py 在 2.9 之前运行良好 特别是

REQUIRED_PACKAGES = [
    "Flask==0.12.2",
    "apache-beam[gcp]==2.9",
    "gunicorn==19.7.1",
    "gevent==1.2.1",
    "google-api-core==1.7.0",
    "google-apitools==0.5.24",
    "google-auth==1.6.2",
    "google-cloud-bigquery==1.6.1",
    "google-cloud-core==0.29.0",
    "google-cloud-pubsub==0.35.4",
    "google-cloud-spanner==1.7.1",
    "google-cloud-storage==1.13.1",
    "google-resumable-media==0.3.1",
    "googleapis-common-protos==1.5.5",
    "googledatastore==7.0.2",
    "grpc-google-iam-v1==0.11.4",
    "proto-google-cloud-datastore-v1==0.90.4",
    "six==1.11",
]

可能相关:在不同的工作(流媒体)上,我有错误日志

No unique name set for transform generatedPtransform-45

Missing required coder_id on grpc_port for -3; using deprecated fallback.

尽管它们似乎并没有真正阻止执行

什么会导致此错误,特别是仅使用 google 云数据流运行程序? 提前致谢

这个错误:

Missing required coder_id on grpc_port for -3; using deprecated fallback.

在 beam 2.9 中引入,在 2.10 中仍然存在。

虽然 the commit that added this error 日志的严重程度为 'error',但它似乎并没有真正破坏任何东西。

这里是 beam jira 问题的更多详细信息:

https://jira.apache.org/jira/browse/BEAM-5415