Потоковая вставка / обновление в Google Cloud - BigQuery - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь передать данные Salesforce в Google Cloud Bigquery.Управляемый для реализации потока вставки, например, при каждом создании нового отведения в SF, он будет вставлен в таблицы Biguery.проверяя, есть ли способ, которым я могу пойти для Upsert данных.Я знал, что существует потоковый буфер, который не позволяет выполнять какие-либо операции DML над вставленными данными, поскольку они будут в потоковом буфере в течение короткого времени.

Действительно ценю любые подсказки по части Upsert

Отредактировано - 6 июня 2019

Использование функции ниже облака для вставки записи

    /**
     * Responds to any HTTP request.
     *
     * @param {!express:Request} req HTTP request context.
     * @param {!express:Response} res HTTP response context.
     */
    exports.helloWorld = (req, res) => {
    let message = req.query.mes || req.body.mes || 'Hello World!';
    res.status(200).send(req.body);
    var d =JSON.stringify(req.body);
      console.log(d);
    var e = d.replace(/:""/g, '');
  var f = e.replace(/\\/g, '');
  var g = f.replace(/"{n /g, '');
  var h = g.replace(/n}"/g, '');
  var i = h.replace(/n /g, '');
  console.log(i);
  const {BigQuery} = require('@google-cloud/bigquery');
  const bigquery = new BigQuery();
  var instance = "DEMO";
  var table = "HTTP";
  bigquery
    .dataset(instance)
    .table(table)
    .insert(JSON.parse(i),
    {'ignoreUnknownValues':true, 'raw':false})
    .then ((data) => {
      console.log('Inserted 1 rows');
      console.log(data);
    })
    };

1 Ответ

0 голосов
/ 13 июня 2019

Получил код, работающий для обновления

...