2016-12-26 14 views
0

私は自分のマシンにローカルにDataFlowパイプラインを設定しました。これは、JSONオブジェクトでいっぱいになったサンプルの改行で区切られたファイルを取得します。その結果、最終結果はTableRowになります。 BigQueryに書き込むときは、認証方法がわかりません。私はDataflowのドキュメンテーションや、ローカルパイプラインを使ってBigQueryに書き込むサンプルを見つけることができませんでした。可能であれば、私はそれをやる方法を知りたいと思います。ローカルDataFlowジョブを使用したBigQueryへの書き込み

... 
session_windowed_items.apply(ParDo.of(new FormatAsTableRowFn())) 
     .apply(BigQueryIO.Write 
     .withCredentials/Token(SOME_TOKEN) // <- This line 
     .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_NEVER) 
     .to("project:db.table")); 
... 

または

... 
PipelineOptions options = PipelineOptionsFactory.create(); 
options.setGoogleCloudCredentials/Token(SOME_TOKEN) // <- This line 
Pipeline p = Pipeline.create(options); 
... 

答えて

2

あなたの第二のアプローチが正しいものである:私の心の中で、それはどちらかのようなものでなければなりません。

GcpOptions gcpOptions = options.as(GcpOptions.class); 
gcpOptions.setGcpCredential(...); 
gcpOptions.setProject(...); 
// etc 

options.as(SomeSpecificOptions.class)のイディオムを覚えておく価値がある:それは意志次のようになります。

利用可能な方法については、GcpOptionsをお読みください。

関連する問題