BigQuery
Connect with your bigquery servers via the official Node.js Driver.
Installation
- Install package - npm i @vulcan-sql/extension-driver-bqinfo- If you run VulcanSQL with Docker, you should use the command - vulcan-install @vulcan-sql/extension-driver-bqinstead.
- Update - vulcan.yaml, and enable the extension.- extensions:
 ...
 bq: '@vulcan-sql/extension-driver-bq' # Add this line
- Create a new profile in - profiles.yamlor in your profile files. For example:info- You can choose one from - keyFilenameor- credentialsto use.- Your service account must have the following permissions to successfully execute queries. - BigQuery Data Viewer
- BigQuery Job User
 - For details, please refer to here. - with - keyFilename:- - name: bq # profile name
 type: bq
 connection:
 location: US
 projectId: 'your-project-id'
 keyFilename: '/path/to/keyfile.json'
 allow: '*'- with - credential:- - name: bq # profile name
 type: bq
 connection:
 location: US
 projectId: 'your-project-id'
 credential:
 client_email: vulcan@projectId.iam.gserviceaccount.com
 private_key: '-----BEGIN PRIVATE KEY----- XXXXX -----END PRIVATE KEY-----\n'
 allow: '*'
Connection Configuration
Please check Interface BigQueryOptions and Google BigQuery: Node.js Client for further information.
| Name | Required | Default | Description | 
|---|---|---|---|
| location | N | US | Location must match that of the dataset(s) referenced in the query. | 
| projectId | N | The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECTfor your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected. | |
| keyFilename | N | Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectIdoption above is not necessary. NOTE: .pem and .p12 require you to specify theemailoption as well. | |
| credentials | N | Credentials object. | |
| credentials.client_email | N | Your service account. | |
| credentials.private_key | N | Your service account's private key. |