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の間違いであるのは確実です。