Правильный способ использования эмулятора облачных функций Google - PullRequest
0 голосов
/ 21 октября 2018

Я установил эмулятор Cloud Functions и получил развернутую функцию.Это код:

const express = require('express');

const cors = require('cors');

const sendEmail = express();

sendEmail.use(cors({origin: true}));

sendEmail.get('/:types/:message', cors(), async (req, res, next) => {
    console.log(5);
    const types = JSON.parse(req.params.types);
    const users = arrayFromObject(await admin.database().ref('Users').once('value').then(r => r.val()).catch(e => console.log(e)));
    console.log('users', users);
    const recipients = [];
    const mails = [];
    if (types.includes('seekers')) {
        const tmpUsers = users.filter(u => u.userType === null);
        console.log('tmpSeekers', tmpUsers);
        recipients.concat(tmpUsers);
    }
    if (types.includes('solvers')) {
        const tmpUsers = users.filter(u => u.userType === 'person' || u.userType === 'company');
        console.log('tmpSolvers', tmpUsers);
        recipients.concat(tmpUsers);
    }
    if (types.includes('test')) {
        mails.push('ironside.alexander@gmail.com', 'aleksander3wielki@gmail.com', 'tratto.biuro@gmail.com');
    }
    console.log('recipients', recipients);
    // admin.database().ref('Users').
    res.end();
});

exports.sendEmail = functions.https.onRequest(sendEmail);

Я использовал functions deploy sendEmail --trigger-http

Так что теперь к проблеме.

Я уверен, что я использую эмулятор неправильно,Что я делаю сейчас:

  1. Используйте tsc --watch для переноса Typescript в JavaScript

  2. Перезапускайте функцию каждый раз, делая functions restart sendEmail.На что я получаю:

Остановка эмулятора функций Google Cloud ...

Эмулятор функций Google Cloud STOPPED

Эмулятор функций Google Cloud RUNNING

Очистить журналы по sudo functions logs clear

Я захожу в браузер и использую предоставленную ссылку http://localhost:8010/uczsieapp/us-central1/sendEmail/[%22students%22,%22solvers%22,%22test%22]/asfasdfasd для генерации запроса.

Я печатаю в терминале functions logs read

И я вижу, что происходит.

И это работает, конечно.Но это занимает больше времени, чем развертывание на сервере.

Что я пропускаю и / или делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...