はじめに
こんばんは。
今までBigQuery色々触ってまして、PHPからBigQueryってそういえば触ったことなかったですが、今回触る事があったので、備忘録残しときます。
本題
インストール
$ composer require google/cloud-bigquery
データ追加
※ 事前にdataset・tableは作成済み
$client = new BigQueryClient([
'keyFilePath' => config('bigquery.key_file_path'),
'projectId' => config('bigquery.project_id'),
]);
$jobConfig = $client->query("INSERT INTO project_name.dataset_name.table_name (user_id, amount, created) VALUES(100, 1000, '2023-03-25')");
$client->runQuery($jobConfig);
データ取得
$client = new BigQueryClient([
'keyFilePath' => config('bigquery.key_file_path'),
'projectId' => config('bigquery.project_id'),
]);
$jobConfig = $client->query("SELECT * FROM project_name.dataset_name.table_name");
$queryResults = $bigQuery->runQuery($queryJobConfig);
foreach ($queryResults as $row) {
print_r($row);
}
自分の例では keyFilePath でcredential.jsonへのパスを指定してますが、 GOOGLE_APPLICATION_CREDENTIALS の環境変数名でファイルパスを設定してもコアファイル内で判断してくれます。
終わりに
めっちゃ簡単ですね。
簡単ですが以上です。