2017-05-21 6 views
0

ドライブからBigQueryにデータをアップロードする必要があります。 これらの2つの説明(Upload CSV,BQ Jobs)、BigQuery - アプリスクリプトを使用してスキーマの自動検出を使用してcsvをアップロードする

が見つかりましたが、毎回新しいスキーマを定義する必要はありません。手動アップロードでは、 '自動検出'をチェックすることができますが、スクリプトではそれを行う方法を見つけることができません。

おかげjobs.load APIで

答えて

3

は、あなたがconfiguration.load.autodetectオプションを探しています。 Apps Scriptには同様の名前の設定が必要です。

+0

それは私が探しているものです、正しい:ここ

が更新要求があります。私はAPIリファレンスを見つけましたが、アプリスクリプトに実装する方法はわかりません。 – Ilja

+1

'configuration'の一部である' load'オブジェクト内でtrueに設定するだけです。 [CSVを読み込む](https://developers.google.com/apps-script/advanced/bigquery#load_csv_data)の例を参照し、 'table'オブジェクトから' schema'を省略してください。 –

+0

こんにちは@Ilja、Stackoverflowへようこそ!答えがあなたに役立ち、あなたの問題を解決する場合はそれを受け入れることを検討し、またそれを投票してください:)! –

1

ありがとうエリオット。

var file = DriveApp.getFileById(csvFileId); 

var data = file.getBlob().setContentType('application/octet-stream'); 

// Create the data upload job. 
var job = { 
     configuration: { 
      load: { 
      destinationTable: { 
       projectId: projectId, 
       datasetId: datasetId, 
       tableId: tableId 
       }, 
      skipLeadingRows: 1, 
      autodetect: true 
       } 
       } 
      }; 

job = BigQuery.Jobs.insert(job, projectId, data); 
関連する問題