小编Den*_*und的帖子

Firebase云功能 - 查询Firestore时响应缓慢

我在Firebase中有一个简单的云功能,它在http POST中使用JSON并将其保存到Firestore集合中.它分配了512MB内存.

这个云功能的性能非常差.如果连续执行,往返行程从200-600ms变化,如果不经常执行(每5-10分钟),则可能需要4-10秒.我理解冷启动问题,但在AWS上我从来没有看到过这么慢的冷启动,也不常见.

我的代码如下 - 我很欣赏任何有关如何加快性能的见解.

'use strict';

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();

const express = require('express');
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// CORS Express middleware to enable CORS Requests.
const cors = require('cors');
app.use(cors({ origin: true }))

app.post('/submitResponse', (req, res) => {
  console.log('/submitResponse');

  if (!req.body.info)
    res.status(422).send()

  const payload = req.body.info;
  console.log(payload);

  const responses = db.collection("responses")

  responses.add({
    payload: payload,
    timestamp: admin.firestore.FieldValue.serverTimestamp()
  }).then(function(docRef) {
    console.log("Response …
Run Code Online (Sandbox Code Playgroud)

npm express firebase google-cloud-platform google-cloud-functions

27
推荐指数
1
解决办法
2158
查看次数

如何在firebase中的一个请求中删除多个节点?

我有一个根的两个节点,我想在一个请求中删除它们中的数据.两个子节点具有相同的密钥.我试过这个:

Firebase firebaseRef = new Firebase(<root_path>);

Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put(<path_to_first_node>, key);
childUpdates.put(<path_to_second_node>, key);

listToRemoveRef.updateChildren(childUpdates, null);
Run Code Online (Sandbox Code Playgroud)

但它仅从第一个节点删除了数据

android firebase firebase-realtime-database

11
推荐指数
1
解决办法
1758
查看次数

在Flutter中使用Facebook SDK是否有任何支持?

我想将Facebook应用程序事件添加到我的Flutter项目中:https : //developers.facebook.com/docs/app-events/android https://developers.facebook.com/docs/app-events/ios

它依赖于Facebook SDK。但是,似乎Flutter中没有适用于Facebook SDK集成的插件。

我可以知道Flutter用户是否应该实施其插件才能使用Facebook功能?

谢谢!

flutter flutter-plugin dart-packages

9
推荐指数
1
解决办法
2497
查看次数

Firebase crashlytics 不显示崩溃

想要在应用程序崩溃后从 firebase 获取崩溃报告。是否有可能在 firebase 崩溃中将调试模式日志和生产崩溃日志分开?...因为当我们从生产或调试测试中崩溃时,它并不是很清楚。此外,发生崩溃后,firebase 不会在控制台上反映崩溃报告。我应该怎么做才能获得最新的崩溃报告?除了 firebase 之外,还有其他方法可以获得崩溃报告吗?我已经更新了 firebase crashlytics 所需的库。并遵循教程 - https://firebase.google.com/docs/crashlytics/get-started#android

android firebase crashlytics crashlytics-android

7
推荐指数
2
解决办法
1万
查看次数

谷歌云函数中的 getSignedURL() 生成可以工作几天的链接,然后返回“SignatureDoesNotMatch”

我的 Firebase 存储getSignedUrl()下载链接可以使用几天,然后停止工作。错误信息是

SignatureDoesNotMatch
The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.
Run Code Online (Sandbox Code Playgroud)

去年夏天,在 GitHub 上对此进行了长时间的讨论,但我没有看到解决方案。

我正在考虑getDownloadURL()从前端使用而不是getSignedUrl()从后端使用。是getDownloadURL()不太安全的,然后getSignedUrl()

这是我的代码,主要是从文档中复制的:

SignatureDoesNotMatch
The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.
Run Code Online (Sandbox Code Playgroud)

node.js google-cloud-storage firebase firebase-storage

6
推荐指数
2
解决办法
6862
查看次数

在Firebase Cloud Functions中包含异步功能(附加错误“解析错误:意外的令牌功能”)

问题

如何将async辅助方法添加到Cloud Functions的 index.js文件中?转换为Promiseasync需要使用一个函数,如本StackOverflow文章中所述:fs.writeFile包含在promise,异步同步中。但是,lint不赞成在功能之外向index.js文件添加其他方法。awaitfs.writefileexports

错误

84行是辅助功能async function writeFile

用户/adamhurwitz/coinverse/coinverse-cloud-functions/functions/index.js 84:7错误解析错误:意外的令牌功能

?1个问题(1个错误,0个警告)

npm ERR!代码ELIFECYCLE

npm ERR!errno 1

npm ERR!功能@棉绒:eslint .

npm ERR!退出状态1

npm ERR!

npm ERR!在functions @ lint脚本上失败。

npm ERR!npm可能不是问题。上面可能还有其他日志记录输出。

npm ERR!可以在以下位置找到此运行的完整日志:

npm ERR!/用户/adamhurwitz/.npm/_logs/2018-12-12T01_47_50_684Z-debug.log

错误:函数预部署错误:命令以非零退出代码终止

设定

index.js

const path = require('path');
const os = require('os');
const fs = require('fs');
const fsPromises = require('fs').promises;
const util = require('util');
const admin …
Run Code Online (Sandbox Code Playgroud)

javascript node.js firebase google-cloud-functions firebase-cli

5
推荐指数
5
解决办法
2386
查看次数

如何将图像从Firebase存储传递到Facebook Marketing API?

有人可以帮助我理解如何从Firebase的Node / Express / Cloud Functions下载图像。

因此,现在写,我只能获取一个包含有关Firebase存储中我的图像的信息的obj(通过getMetadata();

let imageInformation = await getImage(domain, thumbID)
Run Code Online (Sandbox Code Playgroud)

哪里控制台日志imageInformation

[ { kind: 'storage#object',
    id: 'functions-firebase-43a59.appspot.com/outlook.com/assets/d547b001-f5bf-b601-c8b1-4bdeb850995e/1551322039811693',
    selfLink: 'https://www.googleapis.com/storage/v1/b/functions-firebase-43a59.appspot.com/o/outlook.com%2Fassets%2Fd547b001-f5bf-b601-c8b1-4bdeb850995e',
    name: 'outlook.com/assets/d547b001-f5bf-b601-c8b1-4bdeb850995e',
    bucket: 'functions-firebase-43a59.appspot.com',
    generation: '1551322039811693',
    metageneration: '1',
    contentType: 'image/png',
    timeCreated: '2019-02-28T02:47:19.811Z',
    updated: '2019-02-28T02:47:19.811Z',
    storageClass: 'STANDARD',
    timeStorageClassUpdated: '2019-02-28T02:47:19.811Z',
    size: '162416',
    md5Hash: '0nES96sSLfY+8nvoLAdjXQ==',
    mediaLink: 'https://www.googleapis.com/download/storage/v1/b/functions-firebase-43a59.appspot.com/o/outlook.com%2Fassets%2Fd547b001-f5bf-b601-c8b1-4bdeb850995e?generation=1551322039811693&alt=media',
    contentDisposition: 'inline; filename*=utf-8\'\'d547b001-f5bf-b601-c8b1-4bdeb850995e',
    metadata: 
     { firebaseStorageDownloadTokens: '78cc9227-a8e7-4797-9929-37983390ad86' },
    crc32c: 'c5GAZw==',
    etag: 'CO389fi03eACEAE=' },
  { kind: 'storage#object',
    id: 'functions-firebase-43a59.appspot.com/outlook.com/assets/d547b001-f5bf-b601-c8b1-4bdeb850995e/1551322039811693',
    selfLink: 'https://www.googleapis.com/storage/v1/b/functions-firebase-43a59.appspot.com/o/outlook.com%2Fassets%2Fd547b001-f5bf-b601-c8b1-4bdeb850995e',
    name: 'outlook.com/assets/d547b001-f5bf-b601-c8b1-4bdeb850995e',
    bucket: 'functions-firebase-43a59.appspot.com',
    generation: '1551322039811693',
    metageneration: '1',
    contentType: 'image/png', …
Run Code Online (Sandbox Code Playgroud)

node.js facebook-graph-api express firebase firebase-storage

5
推荐指数
0
解决办法
169
查看次数

您如何使自定义声明与存储在 Firebase 数据库中的角色保持同步

这个问题是从另一个线程的评论中提出的,我认为这是一个很好的问题,但在 SO 上没有任何答案。

我如何将身份验证中的用户链接到他们在数据库中的特定配置文件?(配置文件包含,全名,用户类型等)

问题的上下文是指在数据库中存储用户身份验证访问逻辑和/或作为自定义声明的不同策略。以及如何保持这两者同步(用户角色的用户身份验证中是否有任何功能?)。

firebase firebase-security firebase-authentication google-cloud-firestore

3
推荐指数
1
解决办法
1375
查看次数

2
推荐指数
1
解决办法
9224
查看次数

Laravel批量处理大量数据集

我目前在 laravel 中有一个 Cron,它以块的形式获取数据并调用 API。

流程如下

1. Cron runs every 5 minutes
2. Takes 80 data in chunks
3. Loop it through and call an API for 80 times and takes the next 80 in the next cron cycle
Run Code Online (Sandbox Code Playgroud)

此方法非常慢,如果表中有 10000000 条记录,则需要处理很多次。我之前使用过 1000 个块,这破坏了我的系统并显示“打开文件太多”异常,为此我已将块从 1000 减少到 80。

我知道我正在做的事情的设计非常糟糕。

我需要重新构建当前模型并构建可以并行处理的东西。至少500-1000个数据并行处理。

我如何在 Laravel 中做到这一点。是否可以通过 PHP 实现,还是我必须考虑像 nodejs 这样的选项?如果可以使用队列,请帮助我。即使我使用队列我能够通过它进行并行处理吗?

更新

现在我尝试使用 Laravel 队列

该命令在后台运行

php /Users/ajeesh/PhpstormProjects/untitled3/open-backend-v2/artisan queue:work database --tries=1 --timeout=56
Run Code Online (Sandbox Code Playgroud)

我的作业被处理了 3 次。我不明白为什么。

有人可以在这里提出解决方案吗?

php queue parallel-processing laravel

1
推荐指数
1
解决办法
4757
查看次数

Swift Firestore 更新字段值

在 firestore 中,我们添加了多个字段,但没有指定 documentID(自动 ID)。我需要更新特定的字段值,例如:

  1. 我的收藏中有个人详细信息列表,其中包含姓名、年龄和性别
  2. 我需要更新 name = kavin 的特定字段值

这是我尝试过的代码 self.DBRef.collection("users").whereField("name", isEqualTo: "kavin") 如何更新此字段值

ios firebase swift4 google-cloud-firestore

1
推荐指数
1
解决办法
5146
查看次数