问题标签 [google-cloud-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4120 浏览

android - Cloud Functions for Firebase:向 Android 设备发送主题通知不起作用

我正在关注 Udacity 的本教程,其中 Cloud Functions for Firebase 用于更改添加数据的参考数据。我想使用类似的功能,但用于向订阅主题的用户发送推送通知。

这是我正在使用的功能。

查看 Firebase 函数日志,我可以看到当我向数据库添加新值时调用了该函数。我正在订阅 mainactivity 中的主题

几个小时后,我可以在 firebase 通知控制台的主题列表中看到该主题。我从那里发送通知并且它有效。

每次添加新消息时,我还需要做哪些其他事情才能显示通知?

任何建议表示赞赏。我对 Firebase 相当陌生。因此,如果有更好的博客/帖子,请重定向我,以便我可以了解更多信息。

提前致谢。

0 投票
0 回答
121 浏览

node.js - 如何将 Cloud Functions for Firebase 拆分为多个文件?

我正在将一些代码从 node flex 环境重构为 Cloud Functions for Firebase。是否有让许多文件有价值的最佳实践?最好的路线是多次使用firebase init函数并关联同一个项目吗?

这似乎会使将它们全部放在一个存储库中变得混乱和困难。如何在一个有组织且可维护的庄园中拥有许多有价值的 Cloud Functions for Firebase 文件?

提前致谢。

0 投票
8 回答
7206 浏览

node.js - 如何使用私有 NPM 包和云功能?

我正在尝试将应用程序切换到 Firebase 并将后端传输到 Firebase Cloud Functions。

此应用程序使用私有包 ( @org/name) 作为依赖项。

我尝试了不同的解决方案,但似乎没有一个可行:

  • 传递NPM_TOKENenv: 不可能,因为 Firebase 限制为小写配置
  • npm install功能目录中的模块
  • .npmrc使用 YARN 和 NPM 身份验证令牌在函数目录中创建一个文件

它总是拒绝部署:

Deploy Error: Build failed: Module @org/name not found in npm registry

Firebase 是否支持私有软件包?

0 投票
1 回答
18678 浏览

firebase - 函数被杀死。错误:超出配额

我在 Spark 计划中使用 Firebase 的云功能。

我使用 cronJob 每 2 分钟调用一次函数。

我最近收到此错误:

函数被杀死。错误:超出配额

尝试部署时出现类似错误:

部署错误:函数加载错误:错误:超出配额

我知道火花计划有配额,但我的统计数据如下:

118 处决

207 总调用次数

火花计划说您每月获得 125,000 次免费调用,是否有执行限制?我试过部署一个新功能,但我得到了同样的错误。

我超出了多少配额?

0 投票
0 回答
614 浏览

android - 云函数 - event.data.val() 返回其地图子项的先前值

Firebase 数据库

正如您在屏幕截图中看到的那样,我无法在 /user_events/{uid}/{eventId} 中更新 /upvoters/。/events/{uid} 是从客户端更新的,它可以工作。当我尝试 console.log 调试我的云功能代码时,我意识到 events.data.val() 返回的不是更新的而是以前的值 /upvoters/ ,但它接收“评级”的当前值。以下是我的客户端和云代码。

编辑: vote() 更新events/{eventId}和云函数将相同的值复制到/user_events/{uid}/{eventId}. 我不明白 vote() 是如何无用的。我想要做的是更新user_events当我events{eventId}用 vote() 更新它并且它确实更新除了/upvoters/. 所以基本上发生的事情是;当 vote() 第一次执行/events/upvoters/是用 vote() 创建的,exports.set_user_events将整个事件设置为/user_events/{eventId}/upvoters/运行良好。当 vote() 第二次运行时,我删除了 upvoters 地图中的 upvoter,events/{eventId}/然后更新了我的云功能,我已经使用 console.log 命令对其进行了调试,并且看到此时event.data.val()返回就好像没有删除 upvoters但其他值(例如评级)是更新值。所以user_events/{uid}/{eventId}/更新除了它的支持者孩子。

云代码:

安卓代码:

0 投票
1 回答
10820 浏览

javascript - Firebase 的云函数:增量计数器

使用事务使用实时数据库触发器增加计数器是否可以接受?

0 投票
1 回答
507 浏览

node.js - 用于创建外部表的 BigQuery Node.js api

我正在尝试使用 node.js API 从谷歌云函数创建一个外部表。该函数将从 GCS 存储桶更改触发。我可以创建本机表,但不能创建外部表。在用于在此处导入的 node.js api 中,configuration.load 元数据没有将其指定为外部表的设置。这是我到目前为止创建本机表的代码。我的问题是“如何使用 Node.js Api 为 GCS 存储桶创建外部表”

0 投票
2 回答
89 浏览

android - 如何替换以前使用 Cloud Functions 发送的通知?以及如何防止收到某些通知?

我正在使用 Firebase 来存储通知所需的内容,并使用 Google Cloud Functions 来发送通知。当用户决定访问某个应用程序时,他们会订阅该事件,以便他们可以接收聊天通知。

我的第一个问题是他们会收到每条消息的单独通知,我想这在群聊中会很烦人。我尝试使用collapseKey,但我认为我使用错误或误解了它的目的。是不是因为通知已经发送而无法正常工作?无论哪种方式,我该如何解决这个问题?

我的第二个问题是用户订阅了一个事件,但由于有时接收通知会有一点延迟,如果他们在发送通知之前退出应用程序,他们可以获得自己的消息通知。我该如何防止这种情况?

0 投票
2 回答
7485 浏览

google-cloud-functions - gcloud beta functions 命令说“无效的选择功能”

我在这里关注谷歌云功能教程:https ://cloud.google.com/functions/docs/quickstart

我安装google-cloud-sdk并获取path.bash.inccompletion.bash.inc.

命令步骤起作用并gsutil创建存储桶。

当我gcloud beta functions deploy helloWorld --stage-bucket [BUCKET_NAME] --trigger-topic hello_world用我的 [BUCKET_NAME] 运行替换时,我得到了使用帮助和以下错误:

``` 错误:(gcloud.beta)无效的选择:“功能”。

有效的选择是 [app, auth, bigtable, compute, config, container, dataflow, dataproc, debug, deployment-manager, emulators, error-reporting, iam, init, logging, ml, organizations, projects, pubsub, service-management,源,sql,测试]。```

我不确定 gcloud 命令是如何工作的,但我可以functions在.lib/surface/google-cloud-sdk

为什么不gcloud beta functions工作?我怎样才能让它工作?

0 投票
1 回答
761 浏览

javascript - 如何将批处理通知 API 与 Cloud Functions for Firebase 结合使用?

我只是想让我的应用程序在有人喜欢那里的事件时向用户发送通知。

我试图这样做:

(很抱歉包含这么多代码,但我觉得这可能都是相关的)如果我使用此代码并删除

它完全符合我的预期。它将写入控制台,说明喜欢哪个帖子以及喜欢该帖子的人。

我真的不确定问题是否来自于在闭包中做了很多事情,或者我只是在做一些明显错误的事情,或者是否是导致错误的 Batch API。

如果您知道一个更好的推送通知站点,它允许使用 UDID 作为自定义标识符,这样我就不必手动处理每个设备的令牌,请告诉我!