2017-08-15 4 views
1

firebaseからonWriteイベントでうまく動作しているbig queryにデータをインポートしていて、table.insert関数を使用しています。 大きなクエリでデータをonUpdateイベントに対して更新したいのですが、table.update関数が利用できず、別の方法では動作していません。以下 は私のコードは、これを処理するonUpdateイベントでbig queryでデータを更新する方法

exports.updatetobigquery = 
functions.database.ref('/mn_users/{userId}/').onUpdate(event => { 
    const dataset = 
bigquery.dataset('KHUSHUApp');//functions.config().bigquery.datasetname); 

    const table = 
dataset.table('mn_users');//functions.config().bigquery.tablename); 
     console.log('Uppercasing', event.data.val()); 
    return table.update({ 
    'id': event.data.key, 
    'name': event.data.val().name, 
    'email': event.data.val().email 
    }); 

}); 

答えて

0

最良の方法である:

  • BigQueryは、データを更新する機能を持っていますが、BigQueryは、分析データベースである - ない更新のために最適化されたデータベース。
  • 目的を達成するための他の手段がある場合は、BigQueryのデータを更新しないでください。
  • 更新の代わりに、新しい行をBigQueryに送信します。後で分析するときに、最新の値を重複排除してマージします。このパターンは、状態が変更されるたびに元の状態に戻り、それを分析する機能を必要とする場合に適しています。
関連する問題