Выполнение шаблона из App Engine с использованием Java
Мне нужно запустить шаблон задания потока данных из App Engine за фиксированный интервал времени, чтобы сделать интервал исправления. Я использовал задание cron, но у меня нет идеи, как запустить шаблон на языке Java. Мне нужен приведенный ниже код в форме Java.
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 сделаны, и некоторые функции недоступны в соответствии с требованием, чтобы мне нужно было изменить программу App Engine на Java. Так что я могу использовать Apache Beam в моем приложении.