Google app engine 如何从App Engine运行Google云数据流作业?

Google app engine 如何从App Engine运行Google云数据流作业?,google-app-engine,google-cloud-dataflow,Google App Engine,Google Cloud Dataflow,在阅读了云数据流文档之后,我仍然不确定如何从AppEngine运行我的数据流作业。可能吗?我的后端是用Python编写的还是用Java编写的?谢谢 是的,这是可能的,您需要使用前面提到的“流执行” 作为流媒体源,您可以将其用作管道的“触发器” 从App Engine,您可以使用执行“发布”操作到发布/订阅中心。可能有一种方法可以从App Engine提交数据流作业,但由于缺少文档,这并不是积极支持的。APP Engine的运行时环境使得执行某些所需操作变得更加困难,例如获取凭据、提交数据流作业。

在阅读了云数据流文档之后,我仍然不确定如何从AppEngine运行我的数据流作业。可能吗?我的后端是用Python编写的还是用Java编写的?谢谢

是的,这是可能的,您需要使用前面提到的“流执行”

作为流媒体源,您可以将其用作管道的“触发器”


从App Engine,您可以使用执行“发布”操作到发布/订阅中心。

可能有一种方法可以从App Engine提交数据流作业,但由于缺少文档,这并不是积极支持的。APP Engine的运行时环境使得执行某些所需操作变得更加困难,例如获取凭据、提交数据流作业。

一种方法确实是在APP Engine中使用发布/订阅,让云数据流知道何时有新数据可用。然后,云数据流作业将持续运行,应用程序引擎将提供数据进行处理

另一种方法是将设置云数据流管道的代码添加到App Engine中的类中(包括GAE项目中的Dataflow SDK),并按如下所述以编程方式设置作业选项:

确保将“runner”选项设置为DataflowPipelineRunner,以便它在Google云平台上异步执行。由于管道运行程序(实际运行管道的)不必与启动管道的代码相同,因此此代码(直到pipeline.run())可以在App Engine中

然后,您可以向GAE添加一个端点或servlet,该端点或servlet在被调用时运行设置管道的代码


为了安排更多的时间,您可以在GAE中使用一个cron作业来调用启动管道的端点…

感谢您的响应!我不太明白你所说的“不是积极支持的东西”是什么意思。它是否得到支持,但支持得很差?或者根本不支持使用“干净和官方建议的方式”?我的意思是这可能是可能的,但它不受支持,我不能保证它会工作。谢谢!当使用流执行时,我的数据流作业的计算引擎实例需要24/7启动和运行,对吗?如果使用“云执行”,我认为它会在需要时启动和停止实例:)嗨,Gavin,我们的后端是用Python编写的,我们希望使用端点来触发我们的数据流作业。要使用您介绍的第二个选项,最好是将管道作为数据流模板?这可能是我的误解,但如果我在appengine中安装了所有管道设置,包括pipeline.run(),它还会在Google云平台上异步运行,而不会在appengine中超时吗?非常感谢。