使用 gcloud CLI 执行数据流作业时出现"unrecognized arguments"错误



我在数据流UI中创建了一个作业,它工作正常。现在我想用一个小的 bash 脚本从命令行自动化它:

#GLOBAL VARIABLES
export PROJECT="cf-businessintelligence"
export GCS_LOCATION="gs://dataflow-templates/latest/Jdbc_to_BigQuery"
export MAX_WORKERS="15"
export NETWORK="businessintelligence"
export REGION_ID="us-central1"
export STAGING_LOCATION="gs://dataflow_temporary_directory/temp_dir"
export SUBNETWORK="bidw-dataflow-usc1"
export WORKER_MACHINE_TYPE="n1-standard-96"
export ZONE="us-central1-a"
export JOBNAME="test"
#COMMAND
gcloud dataflow jobs run $JOBNAME --project=$PROJECT --gcs-location=$GCS_LOCATION 
--max-workers=$MAX_WORKERS 
--network=$NETWORK 
--parameters ^:^query="select current_date":connectionURL="jdbc:mysql://mysqldbhost:3306/bidw":user="xyz",password="abc":driverClassName="com.mysql.jdbc.Driver":driverJars="gs://jdbc_drivers/mysql-connector-java-8.0.16.jar":outputTable="cf-businessintelligence:bidw.mytest":tempLocation="gs://dataflow_temporary_directory/tmp" 
--region=$REGION_ID 
--staging-location=$STAGING_LOCATION 
--subnetwork=$SUBNETWORK 
--worker-machine-type=$WORKER_MACHINE_TYPE 
--zone=$ZONE

当我运行它时,它失败并显示以下错误:

ERROR: (gcloud.dataflow.jobs.run) unrecognized arguments:
--network=businessintelligence

按照gcloud topic escaping中的说明,我相信我正确地转义了我的参数,所以我真的很困惑。为什么网络参数失败?

尝试获取有关命令的帮助,以查看它当前接受哪些选项:

gcloud dataflow jobs run --help

对我来说,这显示了许多选项,但不是--network选项。


然后我检查了beta频道:

gcloud beta dataflow jobs run --help

确实显示--network选项。因此,您需要使用gcloud beta dataflow...启动您的工作。

networksubnetwork参数都需要是完整的URL。

资料来源:https://cloud.google.com/dataflow/docs/guides/specifying-networks#example_network_and_subnetwork_specifications

subnetwork标志的示例:

https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION_NAME/subnetworks/SUBNETWORK_NAME

相关内容

最新更新