首页 > 其他 > 详细

google云函数实现BigQuery数据操作

时间:2019-04-03 15:38:09      阅读:112      评论:0      收藏:0      [点我收藏+]

Google Cloud Function操作BigQuery数据库。

1、部署云函数时在配置文件中(package.json)添加一项 "@google-cloud/bigquery": "^2.1.0":

(注:如何部署google云函数请参考https://www.cnblogs.com/cj8988/p/9454350.html

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "@google-cloud/bigquery": "^2.1.0",
    "firebase-admin": "~7.0.0",
    "firebase-functions": "^2.2.0"
  },
  "devDependencies": {
    "eslint": "^5.12.0",
    "eslint-plugin-promise": "^4.0.1"
  },
  "private": true
}

2、函数实现

const functions = require(‘firebase-functions‘);
const {BigQuery} = require(‘@google-cloud/bigquery‘);
const bigquery = new BigQuery({
    projectId: ‘wosd2b3‘,                         //项目ID
});
const dataset = bigquery.dataset(‘wodgegh‘);      // BigQuery库名称
const table = dataset.table(‘demo‘);              // BigQuery表名

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//函数实现
exports.demoBq = functions.https.onRequest((request, response) => {
    table.insert({
        id:‘cj112‘,
        type:‘11000‘,
        time:‘11000‘
    }).then((data) => {
        const apiResponse = data[0];

        return response.json({code:200,msg:apiResponse});
    }).catch((err) => {
        if (err.name === ‘PartialFailureError‘) {
            // Some rows failed to insert, while others may have succeeded.
            // err.errors (object[]):
            // err.errors[].row (original row object passed to `insert`)
            // err.errors[].errors[].reason
            // err.errors[].errors[].message
            
            return response.json({code:-1,msg:err});
        }
        return response.json({code:-2,msg:err});
    });
});

 

更多操作参考:https://cloud.google.com/nodejs/docs/reference/bigquery/2.0.x/Table#insert

google云函数实现BigQuery数据操作

原文:https://www.cnblogs.com/cj8988/p/10649163.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!