У меня есть код NODE.js, который отлично работает локально (127.0.0.1:CUSTOM_PORT).Но теперь я хотел бы настроить его для запуска в облачной функции Google.
Это код, который я использую для локального запуска кода:
function connect_to_server() {
const PORT = process.env.PORT || 8080;
app.listen(PORT,'127.0.0.1',function () {
console.log('---> SERVER IS RUNNNG <---')
})
}
Кто-то знаетспособ установить работающий сервер с Google Cloud Functions?Какой порт я должен использовать и URL ВНУТРИ NODE.JS ??Или мне вообще не нужно его использовать, поскольку GCF уже изначально настроил для меня сервер?
GCF Укажите URL-адрес триггера, который можно нажать, но он все равно не работает.
Полныйфункция без app.listen()
// CONFIGURATION
const express = require('express')
const app = express()
const config = require('./config')
const bodyParser = require('body-parser')
const moment = require('moment')
const sql = require("mssql")
const jwt = require('jwt-simple')
const compression = require('compression')
function token(token) {
var secret = Buffer.from('xxx', 'hex')
return jwt.decode(token, secret)
}
function sql_puller(res, req) {
sql.connect(config, function (err) {
if (err) {
console.log(err)
res.send(err.code)
}
const request = new sql.PreparedStatement()
const {
x
} = req.body
let newProps = {}
x.forEach(filters => {
newProps[filters.x] = filters.x
})
const isValidInput = validateInput(x, x, x, res)
if (!isValidInput) {
return
}
request.input('1', sql.VarChar(1))
request.input('2', sql.VarChar(1))
request.input('3', sql.VarChar(1))
sqlQuery = `XXXXXX`
request.prepare(sqlQuery, err => {
if (err) {
console.log(err)
res.send(err.code)
return
}
request.execute({
iso: x,
start: x,
end: x
}, (err, recordset) => {
request.unprepare(err => {
if (err) {
console.log(err)
res.send(err.code)
return
}
})
if (err) {
console.log(err)
res.send(err.code)
return
}
res.json(recordset)
sql.close()
})
})
})
sql.on('close', function (err) {
console.log('SQL Connection Closed.', err)
})
sql.on('error', function (err) {
sql.close()
console.log('SQL error occurred.', err)
})
}
exports.main = function main() {
app.use(compression())
app.use(bodyParser.json())
app.post('/', function (req, res) {
try {
res.setHeader('Cache-Control', 'public, max-age=3600')
var decodedToken = token(req.body['Token'])
console.log(req.body)
console.log('Successefully connected - token accepted')
// connect to your databas
if (decodedToken == "XXXXXX") {
sql_puller(res, req)
} else {
console.log('Incorrect Token')
}
} catch (err) {
if (err) {
console.log(err)
res.send('Invalid Token')
return
}
}
})
}