GoogleBigQueryHelper.mjs 655 B

123456789101112131415161718192021222324252627282930
  1. import { BigQuery as GoogleBigQuery } from '@google-cloud/bigquery'
  2. let dataset = null
  3. function getDataset() {
  4. if (!dataset) {
  5. console.log(
  6. 'Connecting to BigQuery dataset: ',
  7. process.env.BQ_PROJECT_ID,
  8. process.env.BQ_DATASET_V2
  9. )
  10. dataset = new GoogleBigQuery({
  11. projectId: process.env.BQ_PROJECT_ID,
  12. keyFilename: process.env.GCS_KEY_FILE,
  13. }).dataset(process.env.BQ_DATASET_V2)
  14. }
  15. return dataset
  16. }
  17. async function query(query, params = {}) {
  18. const [job] = await getDataset().createQueryJob({ query, params })
  19. const [rows] = await job.getQueryResults()
  20. return rows
  21. }
  22. export default {
  23. query,
  24. }