Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从GAE Cronjob触发Apache Beam(Python)运行_Python_Google App Engine_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

从GAE Cronjob触发Apache Beam(Python)运行

从GAE Cronjob触发Apache Beam(Python)运行,python,google-app-engine,google-cloud-dataflow,apache-beam,Python,Google App Engine,Google Cloud Dataflow,Apache Beam,在替换旧的appengine mapreduce作业时,我需要一种从我的cron触发此python数据流作业的方法 我已经读过了,但还不清楚Python的完整翻译 云函数没有安装python,我不确定是否/如何安装可移植python。因此,我假设从托管VM Python实例触发将更容易…据我所知,它将是这样的: 我使用的是GAE Flexible VMs no sandbox。 我可以包括apache_beam库,以便在docker映像中运行我的_dataflow.py。 我可以通过我的项目推送

在替换旧的appengine mapreduce作业时,我需要一种从我的cron触发此python数据流作业的方法

我已经读过了,但还不清楚Python的完整翻译

云函数没有安装python,我不确定是否/如何安装可移植python。因此,我假设从托管VM Python实例触发将更容易…据我所知,它将是这样的:

我使用的是GAE Flexible VMs no sandbox。 我可以包括apache_beam库,以便在docker映像中运行我的_dataflow.py。 我可以通过我的项目推送上传这些文件,以便从VM磁盘访问它们:my_dataflow.py、安装我的库依赖项的setup.py和apache-beam.tar.gz,因为我是针对PyPI上尚未发布的0.7.0 API编写的 我可以在setup.py和apache-beam.tar.gz中调用我的_dataflow.run pointing PipelineOptions。
是这样,还是我错过了其他步骤?希望避免在这里出错,并担心在花了几个小时推动和否定尝试使其工作后遇到已知的无法逾越的障碍。

是的,模板目前仅限于Java

您可以使用此技术来代替定期调用管道。这不使用模板管道,而是启动普通管道。通过运行启动管道的子流程,可以设置云函数来启动管道。调用云函数有多种方法。这一个使用应用程序引擎cron服务


您的数据流管道必须使用Python吗?如果不是,并且可以是Java,那么您可以简单地使用Dataflow的模板功能,并从云函数触发管道。我的项目完全是Python/JS。不希望为了让cronjob正常工作而在Java中重写数据流并最终实现零代码重用。模板是Java独有的特性吗?是的,您刚才共享的链接就是我上面原始问题中的链接。在本文中,他们将JRE和JAR上传到云函数。对于Python…我是否需要上传完整的Python安装?这似乎…容易出问题。因此,研究我是否可以从Python代码中调用它,以及需要做什么。