首页 > 解决方案 > 使用 gcloud 为数据流作业传递参数列表的语法

问题描述

今天将我的 cloud sdk 更新到最新版本后,我无法再正常运行我的数据流作业。到目前为止,我总是从以下内容开始:

gcloud dataflow jobs run job_name --gcs-location gs://template_location --parameters from_date="2019-03-01",to_date="2019-04-30"

但是在更新之后,此调用导致一个参数from_date被传递并包含该值2019-03-01 to_date=2019-04-30(全部一起)。

我尝试在方括号中传递参数列表,但这会立即导致错误。

那么,现在传递参数列表的正确方法是什么?

标签: google-cloud-dataflowgcloud

解决方案


您可以尝试以下选项通过脚本传递所有参数

PROJECT='YOUR_PROJECT'
BUCKET='YOUR_BUCKET'

def run():
    argv = [
          '--project={0}'.format(PROJECT),
          '--job_name=YOUR_JOB_NAME',
          '--save_main_session',
          '--staging_location=gs://{0}/staging/'.format(BUCKET),
          '--temp_location=gs://{0}/staging/'.format(BUCKET),
          '--region=us-central1',
          '--runner=DataflowRunner'
          '--from_date=2019-03-01'
          '--to_date=2019-04-30'
    ]

推荐阅读