Python 为数据流创建模板会引发错误AttributeError:';RuntimeValueProvider';对象没有属性';tableId';

Python 为数据流创建模板会引发错误AttributeError:';RuntimeValueProvider';对象没有属性';tableId';,python,google-cloud-dataflow,apache-beam,Python,Google Cloud Dataflow,Apache Beam,我用ApacheBeam制作了一个管道,它使用DataFlow runner成功运行。我正在尝试创建模板,但在为apache_beam.io.gcp.bigquery.WriteToBigQuery转换器使用RuntimeValueProvider时,会引发以下错误: AttributeError:'RuntimeValueProvider'对象没有属性'tableId' 代码(摘录)如下所示: class ProcessOptions(PipelineOptions): @classm

我用ApacheBeam制作了一个管道,它使用DataFlow runner成功运行。我正在尝试创建模板,但在为apache_beam.io.gcp.bigquery.WriteToBigQuery转换器使用RuntimeValueProvider时,会引发以下错误:

AttributeError:'RuntimeValueProvider'对象没有属性'tableId'

代码(摘录)如下所示:

class ProcessOptions(PipelineOptions):
    @classmethod
    def _add_argparse_args(cls, parser):
        parser.add_value_provider_argument(
            '--output_gcs',
            dest='output_gcs',
            default='gs://nlp-text-classification/results/stackoverflow_template',
            type=str,
            required=False,
            help='Google Cloud Storage Path.')

        parser.add_value_provider_argument(
            '--output_bq_table',
            dest='output_bq_table',
            default='nlp-text-classification:stackoverflow.template_test',
            type=str,
            required=False,
            help='BigQuery table.')

process_options = options.view_as(ProcessOptions)

with beam.Pipeline(options=options) as p:
    [...]
    "Write Posts to BigQuery" >> beam.io.WriteToBigQuery(table=process_options.output_bq_table,
                                                         schema=table_schema)
    [...]

这是一个bug还是我做错了什么?

当前数据流使用默认情况下不支持模板的运行程序本机源。我们有一个支持模板的梁源。要使用它,您必须使用以下标志启用一个实验

--experiment=use_beam_bq_sink

谢谢你的快速回复!如果我使用上述标志,一切正常。然而,我很好奇不同数据流源之间的差异(例如,runner native与Beam source)。你们有描述这方面的文档吗?本机接收器完全在数据流服务中实现。我们最近添加了一个Beam BigQuery接收器,该接收器预计将替换本机版本,但我们尚未完全迁移。hello@chamikara,我在创建模板时收到以下错误消息:。AttributeError:“RuntimeValueProvider”对象没有属性“datasetId,Beam.io.Write(Beam.io.BigQuerySink(..)我试过实验旗,但没有成功。你能帮忙吗