我正在尝试使用数据流temaplte中的运行时值提供程序从不同名称空间的数据存储中获取数据。
class CatalaugeOption(PipelineOptions):
@classmethod
def _add_argparse_args(cls, parser):
parser.add_value_provider_argument('--namespace', default='', dest='namespace', help='current date directory')
my_options = options.view_as(CatalaugeOption)
parser.add_argument('--kind', dest='kind', default='Product', help='Datastore Kind')
known_args, pipeline_args = parser.parse_known_args(argv)
with beam.Pipeline(argv=pipeline_args) as p:
req_options = p.options.get_all_options()
project = req_options['project']
namespace = my_options.namespace
kind = known_args.kind
query = query_pb2.Query()
query.kind.add().name = kind
protobufs = p | 'Read From Datastore' >> ReadFromDatastore(
project, query, namespace=namespace)
p.run()
return
ValueError:无效的DisplayDataItem。值project1是不受支持的类型。
答案 0 :(得分:0)
请注意,此功能已合并到Apache Beam master分支中,应成为即将推出的2.19.0版本的一部分。
https://github.com/apache/beam/pull/10683 https://issues.apache.org/jira/browse/BEAM-7810