Google Dataflow用のGoogleがテンプレートを提供してくれている。Dataflowをパラメータを指定することでDataflowを手軽に使うことができるものです。
現在提供されているテンプレートは以下となります。
- WordCount
- Cloud Pub/Sub to BigQuery
- Cloud Storage Text to Cloud Pub/Sub
- Cloud Pub/Sub to Cloud Storage Text
- Cloud Datastore to Cloud Storage Text
- Cloud Storage Text to BigQuery
- Cloud Storage Text to Cloud Datastore
- Bulk Decompress Cloud Storage Files
その中のCloud Storage Text to BigQuery について、
テンプレートで指定するパラメータは以下となっている。
実行方法として、Google Cloud Platform consoleもしくは、Google OAuth 2.0されたREST API で実行できます。
https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.templates/launch#authorization
が、そのまま実行させると、inputパラメータを指定すると、invailidとなります。
outputTableの、my-project-nameは、project-idでないとprojectが見つからないと怒られます。
{
"parameters": {
"javascriptTextTransformFunctionName": "transform",
"JSONPath": "gs://**********/schema.json",
"javascriptTextTransformGcsPath": "gs://**********/my_function.js",
"inputFilePattern": "gs://**********/*.csv",
"outputTable": "*************:testdataset.testtable",
"bigQueryLoadingTemporaryDirectory": "gs://**********/tmp"
},
"jobName": "test-job",
"environment": {
"tempLocation": "gs://**********/temp",
"zone": "us-central1-f"
}
}
テンプレートのソースを確認しても、InputFilePatternパラメータが必須となっているので、inputFilePatternの間違いであるのは確実です。

