BigQuery API V2(Java)を使用して、
BigQueryテーブルの行(レコード)を取得する方法
についてご紹介します。
レコードの情報を取得するには、
適切なIAM権限が付与されている必要があります。
権限付与に関しては
⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)
を参照ください。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[BigQuery API(V2)] JavaでBigQueryを使う
を参照ください。
No | 目次 | |
---|---|---|
1 | レコードを取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. レコードを取得
指定したテーブルのレコードを取得します。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
BigqueryScopes.BIGQUERY
BigqueryScopes.CLOUD_PLATFORM
BigqueryScopes.CLOUD_PLATFORM_READ_ONLY
https://www.googleapis.com/auth/bigquery.readonly
⧉[BigQuery API(V2)] JavaでBigQueryを使う(3.2. BigQueryインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Bigquery bigquery = getBigquery();
Bigquery.Tabledata tabledata = bigquery.tabledata();
Bigquery.Tabledata.List list = tabledata.list("プロジェクトID","データセットID","テーブルID");
TableDataList res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://bigquery.googleapis.com/bigquery/v2/projects/{プロジェクトID}/datasets/{データセットID}/tables/{テーブルID}/data
が実行されます。
1.2.2. クエリパラメータ
Bigquery.Tabledata.Listのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setMaxResults | Integer | 結果の最大数 |
setPageToken | String | 取得するページトークン |
setStartIndex | String | 取得する開始行インデックス |
setSelectedFields | String | 取得するフィールド |
setFormatOptions | DataFormatOptions | 出力フォーマットの調整 |
DataFormatOptions
メソッド | 引数 | 説明 |
---|---|---|
setUseInt64Timestamp | Boolean | タイムスタンプをusec int64として出力するか |
1.3. レスポンスの内容
TableDataList
メソッド | 戻り値 | 説明 |
---|---|---|
getKind | String | リソースの種類 固定文字列:"bigquery#tableDataList" |
getEtag | String | ハッシュ値 |
getPageToken | String | 次のページトークン |
getTotalRows | Long | テーブル全体の合計行数 |
getRows | List<TableRow> | 行情報 |
TableRow
メソッド | 戻り値 | 説明 |
---|---|---|
get("フィールド名") | Object | 指定したフィールド名のレコードの値を取得 |
おしまい。。