Articles of google cloud functions

如何评分 – 限制Google云端Pub / Sub Queue

我使用Google的Pub / Sub队列来处理服务之间的消息。 一些用户连接到速率限制API。 例如,我将街道地址推送到发布/订阅主题上。 我有一个Cloudfunction,通过推送订阅该主题,并呼叫外部限速地理编码服务。 理想情况下,我的街道地址可以毫不拖延地推到话题上,话题会保留这些消息 – 以限速的方式呼叫用户。 反正有configuration这样的延迟,或消息分发速率限制? 增加Ack窗口并没有什么帮助:我已经构build了这个系统来防止长时间运行的function。

Google Firebase错误(函数返回undefined,期望Promise或value)

我正在开发使用Firebase的服务器。 我在Youtube上复制了Google Developer's Video。 它运行良好,但在日志中有一个错误: 函数返回undefined,预期为Promise或value 它说函数返回undefined ,但是我让function返回一个promise `set“ 我该如何解决这个问题? function sanitize(s) { var sanitizedText = s; console.log('sanitize params: ', sanitizedText); sanitizedText = sanitizedText.replace(/\bstupid\b/ig, "wonderful"); return sanitizedText; } exports.sanitizePost = functions.database .ref('/posts/{pushId}') .onWrite(event => { const post = event.data.val(); if (post.sanitized) return; console.log('Sanitizing new post', event.params.pushId); console.log(post); post.sanitized = true; post.title = sanitize(post.title); post.body = […]

从我之前部署的Firebase控制台获取代码

我已经在nodejs中创build了firebase函数,并将代码部署在firebase上。 该function是在创build新用户时发送电子邮件。 我现在已经丢失了代码。 我们可以从Firebase中获取代码吗?

如何使用云端函数删除文件?

当我在Firebase数据库中删除post时,我希望云function可以相应地删除post在Firebase存储中的缩略图。 我的问题是,当我试图删除缩略图我不认为我正确定位图像文件。 这是我所尝试的: const functions = require('firebase-functions') const admin = require('firebase-admin') const gcs = require('@google-cloud/storage')() exports.deletePost = functions.database.ref('Posts/{pushId}').onWrite(event => { const original = event.data.val() const previous = event.data.previous.val() const pushId = event.params.pushId if (original === null) return const filePath = 'Posts/' + pushId + 'thumbnail.jpg' const bucket = gcs.bucket('postsapp-12312') const file = bucket.file(filePath) const pr […]

如何使用私有NPM包与云function?

我正在尝试将应用切换到Firebase,并将后端传输到Firebase云端function。 此应用程序正在使用私有包( @org/name )作为依赖项。 我试过不同的解决scheme,但似乎没有工作: 传递一个NPM_TOKEN env:不可能,因为Firebase限制为小写configuration npm install模块npm install在函数目录中 使用YARN和NPM授权令牌在函数目录中创build一个.npmrc文件 它始终拒绝部署: Deploy Error: Build failed: Module @org/name not found in npm registry Firebase是否支持私人套餐?

Firebase云端function总是超时

我正在探索Firebase云计算function,并试图通过http请求发送通知。 问题是,即使我设法发送通知,请求总是超时。 这是我的脚本 const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.friendRequestNotification = functions.https.onRequest((req, res) => { const senderId = req.query.senderId; const recipientId = req.query.recipientId; const getRecipientPromise = admin.database().ref(`/players/${recipientId}`).once('value'); const getSenderPromise = admin.database().ref(`/players/${senderId}`).once('value'); return Promise.all([getRecipientPromise, getSenderPromise]).then(results => { const recipient = results[0]; const sender = results[1]; const recipientToken = recipient.child("notificationsInfo/fcmToken").val(); const notificationAuthorization = recipient.child("notificationsInfo/wantsToReceiveNotifications").val(); […]

Firebase云端函数:增量计数器

使用事务处理实时数据库触发器增加计数器是否可以接受? exports.incPostCount = functions.database.ref('/threadsMeta/{threadId}/posts') .onWrite(event => { admin.database().ref('/analytics/postCount') .transaction(count => { if (count === null) { return count = 1 } else { return count + 1 } }) });

Firebase的云端function:pipe理员与根查找

掌握Firebase和JavaScript以编码云function; 但我想我正在寻找是否有人可以解释使用以下查找和/或写入云function的优点和缺点?! 使用admin.database().ref() VS root.child() 我自己一直在使用admin.database.ref() ,但我需要? 使用root.child()而不是同样好?

如何在Firebase的Cloud Functions中创buildHTTP请求?

我正尝试使用Cloud Functions for Firebase拨打电话给苹果收据validation服务器。 任何想法如何进行HTTP调用?

Firebase云端函数:“错误:无法处理请求”

我想把头发拉出来, 这要么是超级简单,要么是脑冻结,要么不是那么简单。 我想要的是 我正尝试使用firebase取消暂停缩短的url,当用户转到: myapp.firebaseappurl.com/url/SHORTENEDLINK 所以不会让我添加一个缩短的url 我想输出是: { "url": "https://stackoverflow.com/questions/45420989/sphinx-search-how-to-use-an-empty-before-match-and-after-match" } 我曾经尝试过 firebase.json文件: { "hosting": { "public": "public", "rewrites": [ { "source": "/url/:item", "destination": "/url/:item" } ] } } index.js文件: const functions = require('firebase-functions'); exports.url = functions.https.onRequest((requested, response) => { var uri = requested.url; request({ uri: uri, followRedirect: true }, function(err, httpResponse) { if (err) […]