2

固定間隔で 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 の多くの依存関係が完了しており、Java で App Engine プログラムを変更する必要があるため、要件に従って一部の機能が利用できません。So I Can Usee Apache beam in My App.

4

0 に答える 0