_)mどうもこんにちわ!マツウラです。今回はGAE/Goと、BigQueryの組み合わせです。BigQueryにデータセットを用意して、クエリを実行するところまでやっていこうと思います。Consoleからプロジェクトを作成します。APIの使用許可を貰うためにアプリで使います。Consoleで、新規プロジェクトを作成します。APIをONに切り替えます。課金がまだ有効でない場合は有効にしてください。librariesを使います。getを使用して、Go言語用のライブラリをダウンロードしてください。code.google.com/p/google-api-go-client/bigquery/v2goauth2サービスに渡すHTTPクライアントは、リクエストにGoogleがサポートしている認証情報を自動的に追加する必要があります。Go言語用のOAuth2.0クライアントライブラリであるgoauth2を使用します。実際に使用するのはgoauth2の中のserviceaccountパッケージです。EngineからのOAuth認証リクエストの作成をサポートしてくれます。code.google.com/p/goauth2/appengine/serviceaccountBigQueryにサンプルデータを用意するBigQueryに今回のサンプルで取得するためのデータを準備します。Consoleを開き、さきほど作成したプロジェクトのページを開きます。BigQueryをクリックします。プロジェクトごとのBigQueryの管理ページが開かれます。datasetをクリックします。作成するデータセットのIDを入力します。tableをクリックします。IDに作成するテーブルのIDを入力します。fileボタンをクリックしてJSONファイルを選択します。(下記にサンプルとしてJSONファイルを載せておきます。)SchemaにJSONデータに対応するスキーマを入力します。Submitボタンをクリックします。791546}サイドメニューから、テーブル名をクリックし、右上にあるDetailsボタンをクリックします。無事にJSONデータが取り込まれていれば、データが表示されます。Libraries、serviceaccountを使用します。LibrariesはGo言語も含め、各言語ごとに自動生成されています。そのため使用する言語において100%自然な書き方ではないように感じられるかもしれません。Go言語版ではかなり自然な形になっていますが、ちょっとした非慣用句については目をつぶって欲しいとのことでした。インストールしたライブラリの使い方は次のとおりです。"code.google.com/p/google-api-go-client/bigquery/v2")パッケージ名はバージョン番号無しのAPI名になります。上記の例では、bigqueryです。各APIは∗http.Clientを引数にとるNew関数があり、API固有の∗Serviceを返します。サービスを作成する例は次のとおりです。Clientについてサービスに渡すHTTPクライアントには、リクエストにGoogleがサポートする認証情報が自動的に追加されるようにする必要があります。そこでgoauth2ライブラリを使用します。Engineアプリから実行するため、OAuth2.0アクセストークンの生成にはappengineパッケージが提供するAccessToken()関数を使用します。いっても、今回はこれらの設定を自分で用意する必要はありません。EngineからOAuth2.0認証済みのHTTPクライアントリクエスト作成をサポートしてくれます。serviceaccountパッケージの使い方は次のとおりです。APIに指定したテーブルを取得するクエリリクエストを実行してみます。3つとも各自で決めたIDに書き換えて下さい。response(テーブルデータ)を使用する。クエリを実行し、指定したタイムアウト時間内に完了した場合に結果を返します。Query()関数には、プロジェクトIDおよび、リクエストのリソースタイプ、BigQueryクエリシンタックスに準ずるクエリ文字列が必要となります。上記のサンプルでは、指定したテーブルからname列を上限1000行まで取得しています。APIからクエリを実行してみました。insertを使用してリアルタイムにデータを追加してみたいと思います。(2)月別アーカイブリンクはてなブログブログをはじめる週刊はてなブログはてなブログPro参加グループプログラミングテクノロジーはてなブログをはじめよう!knightsoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。