javascript Google Cloud函数用于在pub / sub和pub / sub到Big查询中发布数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript Google Cloud函数用于在pub / sub和pub / sub到Big查询中发布数据相关的知识,希望对你有一定的参考价值。

//gcloud beta functions deploy  --trigger-topic data --stage-bucket XXXXXXX-ml-mlengine --project XXXXXX subscribeDataFlow 
//gcloud beta functions deploy  --trigger-http --stage-bucket XXXXXXX-ml-mlengine --project XXXXXX publishData

var pubsub = require('@google-cloud/pubsub')();
const bigquery = require('@google-cloud/bigquery')();


exports.publishData = function(req, res) {
  var topic = pubsub.topic('data');
  var publisher = topic.publisher();
  var key = req.body.key || "test10";
  var number = req.body.number || 100;
  
  for (var i = number - 1; i >= 0; i--) {
      var data  = new Buffer(JSON.stringify({"key": key, "value": key+'--'+i}));
      publisher.publish(data).then(function(messageId) {
      console.log("correcto: "+messageId);
  });
  }
  res.status(200).json({"result":"ok", "key": key, "number": number});
  
}

exports.subscribeDataFlow = function subscribe(event, callback) {
     // The Cloud Pub/Sub Message object.
     const pubsubMessage = event.data;
     console.log('Procesado --> '+ Buffer.from(pubsubMessage.data, 'base64').toString());
     var rawData =  Buffer.from(pubsubMessage.data, 'base64').toString();
     var data = JSON.parse(rawData);
     var myDataset = bigquery.dataset('dataflow_example');
     var tabla_uno = myDataset.table('dataflow_example_gcf');
     // Import data into a table.
     tabla_uno.insert({
      key: data.key+"-gcf",
      value: data.value
     }, function(err, job) {});
     callback();
 };

以上是关于javascript Google Cloud函数用于在pub / sub和pub / sub到Big查询中发布数据的主要内容,如果未能解决你的问题,请参考以下文章

替代 Google Cloud SQL 中用户定义的函数

如何从 google-cloud-platform vminstance 中的 pubsub 回调函数调用全局变量?

在 Google Cloud 函数上部署 python C 包时出错

在 firebase 函数中创建 Google Cloud Task

将变量传递给 Google Cloud 函数

检索旧版本的 Google Cloud 函数源