もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

phpからBigQueryへ保存

はじめに

こんばんは。

今までBigQuery色々触ってまして、PHPからBigQueryってそういえば触ったことなかったですが、今回触る事があったので、備忘録残しときます。

本題

github.com

インストール

$ 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環境変数名でファイルパスを設定してもコアファイル内で判断してくれます。

終わりに

めっちゃ簡単ですね。

簡単ですが以上です。