我的目标是创建一种机制,当新文件上传到云存储时,它会触发云函数。最终,此 Cloud 函数将触发 Cloud Dataflow 作业。
我有一个限制,即 Cloud Dataflow 作业应该用 Go 编写,而 Cloud Function 应该用 Python 编写。
我现在面临的问题是,我无法从 Cloud Function 调用 Cloud Dataflow 作业。
用 Go 编写的 Cloud Dataflow 中的问题是template-locationApache Beam Go SDK 中没有定义变量。这就是我无法创建数据流模板的原因。而且,由于没有数据流模板,我可以从云函数调用云数据流作业的唯一方法是编写一个 Python 作业,该作业调用运行数据流作业的 bash 脚本。
bash 脚本如下所示:
go run wordcount.go \
--runner dataflow \
--input gs://dataflow-samples/shakespeare/kinglear.txt \
--output gs://${BUCKET?}/counts \
--project ${PROJECT?} \
--temp_location gs://${BUCKET?}/tmp/ \
--staging_location gs://${BUCKET?}/binaries/ \
--worker_harness_container_image=apache-docker-beam-snapshots-docker.bintray.io/beam/go:20180515
但上述机制无法创建新的数据流作业,而且看起来很麻烦。
有没有更好的方法来实现我的目标?我在上述机制上做错了什么?
慕标5832272
MMTTMM
如何通过Spring Cloud Zuul网关调用服务
python中如何调用HBase
不同包中的同类如何调用
使用Echarts如何从数据库中获取数据
相关分类