Google app engine 使用Java从应用程序引擎执行模板
我必须在固定的时间间隔内从App Engine触发dataflow作业的模板,以确定固定的时间间隔。我使用了cron作业,但不知道如何触发Java语言的模板。我需要以下Java形式的代码Google app engine 使用Java从应用程序引擎执行模板,google-app-engine,cloud,google-cloud-platform,apache-beam,google-cloud-python,Google App Engine,Cloud,Google Cloud Platform,Apache Beam,Google Cloud Python,我必须在固定的时间间隔内从App Engine触发dataflow作业的模板,以确定固定的时间间隔。我使用了cron作业,但不知道如何触发Java语言的模板。我需要以下Java形式的代码 import datetime import logging import os from google.appengine.ext import ndb import webapp2 from googleapiclient.discovery import build from oaut
import datetime
import logging
import os
from google.appengine.ext import ndb
import webapp2
from googleapiclient.discovery import build
from oauth2client.client import GoogleCredentials
class LaunchJob(webapp2.RequestHandler):
credentials = GoogleCredentials.get_application_default()
service = build('dataflow', 'v1b3', credentials=credentials)
# Set the following variables to your values.
JOBNAME = 'kiss-fn-dataflow-job'
PROJECT = 'testing1-18001111'
BUCKET = 'kiss-bucket'
TEMPLATE = 'Test1'
GCSPATH="gs://{bucket}/templates/{template}".format(bucket=BUCKET, template=TEMPLATE),
BODY = {
"jobName": "{jobname}".format(jobname=JOBNAME),
"parameters": {
"inputFile" : "gs://{bucket}/input/my_input.txt",
"outputFile": "gs://{bucket}/output/my_output".format(bucket=BUCKET)
},
"environment": {
"tempLocation": "gs://{bucket}/temp".format(bucket=BUCKET),
"zone": "us-central1-f"
}
}
request = service.projects().templates().launch(projectId=PROJECT, gcsPath=GCSPATH, body=BODY)
response = request.execute()
app = webapp2.WSGIApplication([
('/', LaunchJob),
], debug=True)
上面的程序运行得很好,但要部署单个应用程序,Python中的许多依赖项都已完成,并且一些功能不可用,因此我需要更改Java中的App Engine程序。所以我可以在我的应用程序中使用Apache beam