python - 如果网络资源处于自定义子网模式,网络接口(interface)必须指定一个子网

标签 python google-cloud-dataflow

尝试使用 Python SDK 运行 Google Dataflow 示例。

我可以在本地运行:

python -m apache_beam.examples.wordcount --output OUTPUT_FILE

但是当尝试在 GCP 上运行时:

python -m apache_beam.examples.wordcount \
    --project myproject \
    --job_name myproject-wordcount \
    --runner DataflowRunner \
    --staging_location gs://myproject/staging \
    --output gs://myproject/output \
    --network myproject-network \
    --zone europe-west1-b \
    --subnetwork regions/europe-west1/subnetworks/europe-west1 \
    --temp_location gs://myproject/temp

我收到以下错误:

apache_beam.runners.dataflow.dataflow_runner.DataflowRuntimeException: Dataflow pipeline failed. State: FAILED, Error:
(9d6636d5e214c789): Workflow failed. Causes: (ab9869cb8161ec27): Error:
 Message: Invalid value for field 'resource.properties.networkInterfaces[0].subnetwork': ''. Network interface must specify a subnet if the network resource is in custom subnet mode.
 HTTP Code: 400

我正在使用 apache-beam Python SDK 0.6.0

有人能帮忙吗?

最佳答案

添加 --subnetworkdefault 子网解决了我的问题:

mvn compile exec:java \
-Dexec.mainClass=my.MainClass \
-Dexec.args="--runner=DataflowRunner \
--project=my-project \
--stagingLocation=gs://my-bucket/staging \
--gcpTemplateLocation=gs://my-bucket/template \
--templateLocation=gs://my-bucket/template \
--gcpTempLocation=gs://my-bucket/tmp \
--region=us-central1 \
--subnetwork=regions/us-central1/subnetworks/default" \
-P dataflow-runner

关于python - 如果网络资源处于自定义子网模式,网络接口(interface)必须指定一个子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977859/

相关文章:

python - apache beam 数据流管道中步骤的 if 语句 (python)

google-bigquery - 如何在 BigQuery 插入错误时崩溃/停止 DataFlow Pub/Sub 摄取

python - ndb.toplevel 用于 python 方法与请求处理程序

python - 有没有办法同时执行多个函数,但是从列表中执行?

python - 在 Apache Beam 中将 csv 转换为 dict,无需知道 header 字段名称

google-cloud-dataflow - 信任库和谷歌云数据流

python-2.7 - 如何将参数传递给数据流模板以进行管道构建

python - 使用 lxml 向现有元素添加属性、删除元素等

python - 管道 ("bitwise OR") 调用 fcntl.lockf()

python - Pandas 数据框列 : Error while replacing string value with number