2016-04-26 6 views
1

templateSuffixを使用してJavaコードからBigQueryテーブルにデータをストリームしたいが、正しく動作させることはできない。私のコード:ストリームinsert from java:templateSuffix

return bigquery.tabledata() 
     .insertAll(
       projectId, 
       datasetId, 
       tableId, 
       new TableDataInsertAllRequest() 
         .setTemplateSuffix(templateSuffix) 
         .setRows(singletonList(row)) 
     ).execute(); 

私はPROJECTID、datasetId、MyTable20160426と20160426とそれを実行すると、私はエラーを取得:

"message" : "404 Not found: Table projectId:datasetId.MyTable20160426" 

私はPROJECTID、datasetId、MyTableというおよび20160426でそれを実行すると、私が手エラー:

"message" : "404 Not found: Table projectId:datasetId.MyTable" 

たMyTableがすでに存在していて、すでに日にテンプレート化されたテーブル(私はGCSのための一括アップロードを使用)(20160426は、今日の日付です)

どのように私はそれを動作させる猫ですか?

何が間違っているのか分かりますか?

おかげ

+0

また、スキーマはどこに用意されていますか?私はストリーミングのJava APIでそれを見つけることができませんでした –

答えて

1

まず、ベーステーブルprojectId:datasetId.MyTableが存在しなければならないと、すでにスキーマを持つ必要があります。 BigQueryは、作成されるテンプレートテーブルのスキーマの検索方法を知っています。

第2に、要求のテーブルIDとしてMyTable20160426の代わりにMyTableを渡す必要があります。

第3に、テーブルの存在(または存在しない)がキャッシュされます。したがって、「見つからない」エラーが発生してテーブルを作成した場合でも、最大30分間、「見つからない」エラーが表示されます。

もう一度お試しください。これでも問題が解決しない場合は、使用している実際のプロジェクト、データセット、および表IDを入力し、詳細を[email protected]に電子メールで送信してください。

+0

こんにちは、ありがとう、私はこれを試してみます –