@Vetri спасибо за ваш ответ! Мне удалось заставить свою функцию работать после исправления нескольких проблем. Для записи мне не нужно было экспортировать переменную env, если эмулятор облачной функции настроен правильно

вернул облачную функцию, чтобы вызвать шаблон конвейера потока данных и попытаться вызвать функцию, поместив файл в хранилище облачного хранилища.

Как обязательное условие для node.js,

npm init
npm install --save googleapis

index.js

const google = require('googleapis');

exports.goWithTheDataFlow = function(event, callback) {
 const file = event.data;



   google.auth.getApplicationDefault(function (err, authClient, projectId) {
     if (err) {
       throw err;
     }

 console.log(projectId);
     if (authClient.createScopedRequired && authClient.createScopedRequired()) {
       authClient = authClient.createScoped([
         'https://www.googleapis.com/auth/cloud-platform',
         'https://www.googleapis.com/auth/userinfo.email'
       ]);
     }

     const dataflow = google.dataflow({ version: 'v1b3', auth: authClient });
            console.log(`gs://${file.bucket}/${file.name}`);
     dataflow.projects.templates.create({
       projectId: projectId,
       resource: {
         parameters: {
           inputFile: `gs://${file.bucket}/${file.name}`

         },
         jobName: 'cloud-fn-dataflow-test',
         gcsPath: 'gs://jaison/templates/ApacheBeamTemplate'
       }
     }, function(err, response) {
       if (err) {
         console.error("problem running dataflow template, error was: ", err);
       }
       console.log("Dataflow template response: ", response);
       callback();
     });

   });

 callback();
};

Команда, используемая для развертывания облачной функции:

gcloud beta functions deploy goWithTheDataFlow --stage-bucket cf100stage --trigger-bucket cf100

Поток данных (луч Apache): я смог выполнить шаблон потока данных из консоли, и ниже указан путь к шаблону,

'gs://jaison/templates/ApacheBeamTemplate'

Функция вылетает с ошибкой ниже:

TypeError: Невозможно прочитать свойство 'getApplicationDefault' с неопределенным значением в export.goWithTheDataFlow (/user_code/index.js:11:17) в /var/tmp/worker/worker.js:695:16 в / var / tmp / worker / worker .js: 660: 9 в _combinedTickCallback (внутренний / process / next_tick.js: 73: 7) в process._tickDomainCallback (внутренний / process / next_tick.js: 128: 9)

Похоже, мне не хватает библиотек. Не уверен, как это исправить. Пожалуйста помоги.

Ответы на вопрос(1)

Ваш ответ на вопрос