libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

BigQuery APIの利用 (3/5)

作成:2012-06-07 13:30
更新:2012-06-07 13:30

■Google Apps ScriptからBigQuery APIを利用する

では、Google Apps Scriptのスクリプトから、BigQueryにアクセスしてみましょう。スクリプトエディタを開いたら、まずBigQuery APIを使えるように設定します。

<リソース>メニューの<Google APIを使用>を選んでください。現れたダイアログパネルに、利用可能なGoogle APIサービスの一覧が表示されます。この中から、「BigQuery API」を使えるようにします。以下のように設定してください。

ポップアップリスト――これは使用するバージョンを選びます。ここでは「v2」を選択しておきます。

フィールド――使用するサービスの名前を入力します。「BigQuery」と設定されているはずですので、そのままにしておきます。

右端のON/OFFスイッチ――「ON」にしておきます。

API Key――先にAPI ConsoleでコピーしておいたAPI Keyをここにペーストします。

これらを設定してOKすれば、BigQuery APIが使えるようになります。では、実際に簡単なスクリプトを実行して、BigQueryにアクセスできることを確認しましょう。下のリスト欄に、簡単なサンプルをあげておきました。"…プロジェクトID…"と"…データセット名…"には、それぞれのプロジェクトIDとデータセット名を記述してください。

既述したら、<実行>メニューでtestBQを実行してみましょう。おそらく最初に、BigQuery APIへのアクセス権を設定する画面が現れるので、アクセスできるようにしておいてください。再度実行すれば、BigQueryからmytableテーブルの情報を取得し、ログに出力するはずです。

エラーなく実行できたら、<表示><ログ...>メニューを選んでログに出力された内容を確認してみましょう。ここでは取得したテーブルのID、作成日時と最終更新日時のタイムスタンプといったものを出力しています。

今回、BigQueryにアクセスしている部分は、実のように記述されています。
var 変数 = BigQuery.Tables.get("…プロジェクトID…",
    "…データセット名…","…テーブル名…");
BigQuery」というのが、BigQueryサービスのオブジェクトです。ここにあるメソッドやプロパティを利用して、BigQueryにアクセスをします。今回は「Tables」プロパティの「get」というメソッドを使っています。Tablesプロパティは、BigQueryに用意されているテーブルを管理するためのオブジェクト「TablesCollection」が設定されているプロパティです。そして「get」メソッドは、その中から特定のテーブルを取得するメソッドです。

このgetで取得される値ブジェクトは、「Table」というオブジェクトで、テーブルの情報やテーブルを管理するための機能などがまとめられています。ここでは以下のようなメソッドを呼び出していますね。

getId――テーブルのIDを返します。
getCreationTime――生成時刻のタイムスタンプを返します。
getLastModifiedTime――最終更新時刻のタイムスタンプを返します。

この他にもさまざまなメソッドがTableにはありますが、しかし「テーブルに保管されているレコード」は含まれません。これはTableではなく、別のものとして取得し操作する必要があります。

――とりあえず、ここでは「こんな具合にBigQueryにアクセスし、テーブルの情報を取り出せた!」ということが体験できればOKとしておきましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function testBQ(){
  var result = BigQuery.Tables.get("…プロジェクトID…","…データセット名…","mytable");
  Logger.log(result.getId());
  Logger.log(result.getCreationTime());
  Logger.log(result.getLastModifiedTime());
}

※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る