How to deal with “The template parameters are invalid” when launching a custom template using Cloud Dataflow REST API/Python

前端 未结 2 742
暖寄归人
暖寄归人 2021-01-27 23:14

I have been using Dataprep to build a Dataflow template.

Running it from https://console.cloud.google.com/dataflow/createjob - no problems. It prompts for parameters (re

2条回答
  •  独厮守ぢ
    2021-01-27 23:35

    I have been literally experiencing the same issue for the past 6-7 hours, and finally got this to work. It seems that the parameter that is causing this issue is the 'tempLocation'. Also it looks like you have an additional set of {} within your input and output location paramaters. Try the following:

    BODY = {
        "jobName": "{jobname}".format(jobname=JOBNAME),
        "parameters": {
            "customGcsTempLocation": "gs://{bucket}/dts/temp".format(bucket=BUCKET),
            "inputLocations":"{\"location1\": \"projectname:DATASET.table\",\"location2\": \"projectname:DATASET.table\",\"location3\": \"projectname:DATASET.table\",\"location4\": \"gs://bucket/filename.csv\",\"location5\":\"projectname:DATASET.table\",\"location6\":\"projectname:DATASET.table\",\"location7\":\"projectname:DATASET.table\",\"location8\":\"projectname:DATASET.table\",\"location9\": [\"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename.tsv\", \"gs://bucket/folder/filename\"]}",
            "outputLocations":"{\"projectname:DATASET.table\"}"
        }
    }
    

    Let me know if that works for you!

提交回复
热议问题