Вы путаете аргументы, передаваемые в Java-приложение, с аргументами, передаваемыми для запуска шаблонного конвейера через CLI.
--gcs-location
- это то, что вы передаете gcloud dataflow jobs run
в CLI.Когда вы запускаете приложение Java, Dataflow помещает ваш конвейер в GCS (шаблон), но не запускает конвейер немедленно.--gcs-location
сообщает gcloud dataflow..
расположение шаблона для запуска.
Вы не можете выполнить шаблонный конвейер локально.Вы просто запускаете подготовку шаблона локально через приложение Java.
https://cloud.google.com/dataflow/docs/guides/templates/executing-templates
<code> * # Set the runner
* RUNNER=DataflowRunner
*
* # Build the template <--NOTE THIS
* mvn compile exec:java \
* -Dexec.mainClass=com.google.cloud.teleport.templates.PubSubToBigQuery \
* -Dexec.cleanupDaemonThreads=false \
* -Dexec.args=" \
* --project=${PROJECT_ID} \
* --stagingLocation=${PIPELINE_FOLDER}/staging \
* --tempLocation=${PIPELINE_FOLDER}/temp \
* --templateLocation=${PIPELINE_FOLDER}/template \
* --runner=${RUNNER}"
*
* # Execute the template <--NOTE THIS
* JOB_NAME=pubsub-to-bigquery-$USER-`date +"%Y%m%d-%H%M%S%z"`
*
* gcloud dataflow jobs run ${JOB_NAME} \
* --gcs-location=${PIPELINE_FOLDER}/template \
* --zone=us-east1-d \
* --parameters \
* "inputTopic=projects/data-analytics-pocs/topics/teleport-pubsub-to-bigquery,\
* outputTableSpec=data-analytics-pocs:demo.pubsub_to_bigquery,\
* outputDeadletterTable=data-analytics-pocs:demo.pubsub_to_bigquery_deadletter"
*
* /