Laavel에서 BigQuery 테이블 삽입

4812 단어 작업 일지tech
Laavel에서 BigQuery 테이블을 삽입하는 방법

컨디션


Laravel6 LTS
PHP7.4
schulzefelix/laravel-bigquery (version1.2.0)

Laavel에 설치하려면


1. schulzefelix/laavel-bigquery(version 1.2.0)의 설치
Laavel6는 최신 패키지, version1을 지원하지 않습니다.2.0 설치를 지정합니다.
//パッケージのインストール
composer require schulzefelix/laravel-bigquery:1.2

//設定ファイルの生成
php artisan vendor:publish --provider="SchulzeFelix\BigQuery\BigQueryServiceProvider"

2. .env에서 서비스 계정의 json의 전체 경로를 설정하고 프로젝트 ID를 설정합니다
#BigQuery
GOOGLE_CLOUD_APPLICATION_CREDENTIALS=/var/www/html/file.json
GOOGLE_CLOUD_PROJECT_ID=project_id

사용법


        try {
            //queryのセット
	    //BigQueryで有効なインサート文を設定
            $rawQuery = ' INSERT INTO dataset.`table` (column1 ,column2)VALUES(data1,data2)';
	    //query設定
            $query = \BigQuery::query($rawQuery );
            //queryを実行
            $result = \BigQuery::runQuery($query);

            //データ挿入に成功ならtrue
            var_dump($result->isComplete());
	    
	    //結果情報を取得
            var_dump($result->info());
        } catch (\Exception $e) {
	    //インサートの失敗はエラーでスローされる。
	    //カラム間違い、データの型間違いでスローを確認
            var_dump($e->getMessage());
        }
오류 메시지 예
{ "error": { "code": 400, "message": "Value has type STRING which cannot be inserted into column event_type, which has type INT64 at [1:99]", "errors": [ { "message": "Value has type STRING which cannot be inserted into column event_type, which has type INT64 at [1:99]", "domain": "global", "reason": "invalidQuery", "location": "q", "locationType": "parameter" } ], "status": "INVALID_ARGUMENT" } }

좋은 웹페이지 즐겨찾기