Tag: google cloud functions

用于Firebase的ESOCKETTIMEDOUT云function

我正在将Firebase的云端函数与我的Firebase实时数据库一起使用,以便为我的应用程序执行一些数据pipe理。 我的一个function似乎终止了,因为它需要大约100-150秒才能完成。 这发生错误: ESOCKETTIMEDOUT 。 有没有办法来防止这一点? 这是我的function: function getTopCarsForUserWithPreferences(userId, genres) { const pathToCars = admin.database().ref('cars'); pathTocars.orderByChild("IsTop").equalTo(true).once("value").then(function(snapshot) { return writeSuggestedCars(userId, genres, snapshot); }).catch(reason => { console.log(reason) }) } function writeSuggestedCars(userId, genres, snapshot) { const carsToWrite = {}; var snapCount = 0 snapshot.forEach(function(carSnapshot) { snapCount += 1 const carDict = carSnapshot.val(); const carGenres = carDict.taCarGenre; const genre_one […]

如何使用firebase云functionhttp触发器从firebase数据库获取数据

您好我想要使用firebase云functionhttp触发器从firebase数据库中获取数据。 是否有可能使用functions.database.ref? var functions = require('firebase-functions'); var cors = require("cors"); var express = require('express'); var http = require('http'); const app = express() //~ app.use(cors({ origin: true })) app.get("/", (request, response) => { response.send("Hello from Express on Firebase with CORS!") }) app.get("/:id", (request, response) => { functions.database.ref('/Users/'+request.params.id) }) exports.httpFunction = functions.https.onRequest(app); 谢谢

当某个键是特定值时运行firebase云端function

const functions = require('firebase-functions'); var IAPVerifier = require('iap_verifier'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.verifyReceipt = functions.database.ref('/Customers/{uid}/updateReceipt') .onWrite(event => { const uid = event.params.uid; var receipt = event.data.val(); (strReceipt).toString('base64'); var client = new IAPVerifier('IAP_secretkey') client.verifyAutoRenewReceipt(receipt, true,function(valid, msg, data){ console.log(' RECEIPT'); if(valid) { console.log('VALID RECEIPT'); console.log('msg:' + msg); var strData = JSON.stringify(data); console.log('data"' + strData); const newReceiptRef […]

Firebase Firebase部署错误的云端函数:错误parsing触发器:无法find模块'firebase-admin'“

当我运行firebase deploy我得到这个错误: Error parsing triggers: Cannot find module 'firebase-admin' 这是我的代码: const functions = require('firebase-functions'); const admin = require('firebase-admin'); 我的package.json是: { "name": "functions", "description": "Cloud Functions for Firebase", "dependencies": { "firebase-admin": "^5.2.1", "firebase-functions": "^0.6.2", "request": "^2.83.0" }, "private": true } 这里是我的全局节点模块: npm list -g –depth=0 /Users/TDK/.nvm/versions/node/v6.11.2/lib ├── child_process@1.0.2 ├── firebase-admin@5.3.0 ├── firebase-tools@3.12.0 ├── fs@0.0.2 ├── npm@5.4.2 […]

推入Firebase数据库时如何设置按键?

当我从前端(Angular 4)和后端(Firebase函数)向Firebase数据库写入数据时,Firebase会生成一个按键。 使用这个密钥,我将来无法访问数据,因为密钥是唯一的。 我想知道是我可以自己设置密钥的任何方式,或者我可以在不知道密钥的情况下访问数据? 这是我从前端的代码: this.db.list(`${this.basePath}/`).push(upload); 这是我的后端代码: admin.database().ref('/messages').push({original: original}).then(function (snapshot) { res.redirect(303, snapshot.ref);}); 我推送的所有数据将在path / pushID / data下 在不知道pushID的情况下,我无法访问数据。 我想要的最好的情况是path/我自己的pushID /数据 非常感谢您的帮助!

我应该如何在Firebase的云端函数中复制Firebase队列数据属性?

Firebase队列使用以下属性来跟踪处理: _state _state_changed _owner _progress _error_details _id 我正在将一些Firebase队列代码迁移到Firebase的Cloud Functions。 我将如何获得_owner属性的等效数据属性? 另外,考虑到这个属性主要是为了缓解并发性问题,Cloud Functions是否已经以另一种方式解决了这个问题,使我的实现不必要?

使用Firebasefunction更新存储更改上的Firebase数据库

我试图在我的Android应用程序中实现configuration文件图片function。 所以我使用了来自Firebase的“ 生成缩略图”样本。 所以每当我上传一个完整大小的图片,它会为我生成缩略图。 但是我想要在缩略图生成后更新我的实时数据库中的缩略图的URL。 const functions = require('firebase-functions'); const mkdirp = require('mkdirp-promise'); const gcs = require('@google-cloud/storage')(); const spawn = require('child-process-promise').spawn; const LOCAL_TMP_FOLDER = '/tmp/'; // Max height and width of the thumbnail in pixels. const THUMB_MAX_HEIGHT = 100; const THUMB_MAX_WIDTH = 100; // Thumbnail prefix added to file names. const THUMB_PREFIX = 'thumb_'; /** […]

节点不会从Firebase数据库中移除?

我有以下数据结构: 不幸的是,“天”不会从下面的代码中删除数据库。 我目前的代码: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.deleteOldItems = functions.database.ref('/path/to/items/{pushId}') //irrelevant to the question .onWrite(event => { var ref = event.data.ref.parent; // reference to the items var now = Date.now(); var cutoff = now – 2 * 60 * 60 * 1000; var oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff); return oldItemsQuery.once('value', function(snapshot) { […]

通知不会出现在应用程序的背景状态和死亡状态

我试图在上传post时将通知推送给应用的最终用户。 它在应用程序处于前景时工作正常,但当应用程序在后台或被杀害时不显示。 有什么办法来显示应用程序被杀害或在后台运行的通知。 这里是我使用的node.js代码 const functions = require('firebase-functions'); let admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.sendPush = functions.database.ref('/promos').onWrite(event => { var topic = "deals_notification"; let projectStateChanged = false; let projectCreated = false; let projectData = event.data.val(); if (((event.data.numChildren())-(event.data.previous.numChildren()))>0) { let msg="notification arrived" let payload = { notification: { title: 'Firebase Notification', body: msg, sound: 'default', badge: '1' […]

如何从服务器端的Firebase数据库中检索上次创build的对象

如果这是非常简单的,我很新的Firebase云function。 我试图在我的数据库中接收最新的推送对象。 不幸的是,这个代码返回已经在'/ customers'的数据库中被推入的每个对象。 我已经尝试过了,但是那根本没有做任何事情。 exports.newCustomer = functions.database.ref('/customers/').onWrite(event => { console.log(event.data.val()); });