node.js - 如何在谷歌云中自动化 NodeJS 脚本

标签 node.js firebase-realtime-database google-cloud-platform cron google-cloud-functions

我有一个 NodeJS 脚本,可以从体育 API 中获取数据。我想每天午夜执行这个脚本并将收到的数据发送到 Firebase 实时数据库。我可以使用 Google Cloud Functions 安排此任务每天运行吗?该脚本没有任何可访问的 http url。这只是一个脚本。

此外,我们可以将 firebase 实时数据库连接到 Nodejs 脚本(而不是 Web 应用程序)吗?因为在所有教程中,他们都提到将 firebase 连接到 Web 应用程序。这可以做到吗?

我的想法是,NodeJS 脚本将在每个午夜运行以将数据提供给 Firebase 数据库。我将有另一个连接到 firebase 的 Web 应用程序,它将接收此数据并显示到前端。如何使用谷歌云功能实现此目的?

非常感谢,

最佳答案

您可以使用Cloud Scheduler安排您的 Cloud Functions 调用。当您设置 Cloud Scheduler 作业时,请使用表达式:0 0 * * * 每天午夜执行它。

要调用您的云函数,您不需要设置http url,您可以将其设置为Cloud Scheduler -> Pub Sub -> < strong>云函数,这样你就不需要公开你的云函数。这个tutorial显示如何设置它。

您可以使用 Cloud Functions 和 NodeJS 客户端库连接到 Firebase,请查看 extend-with-functions .

一些来自官方文档的示例,类似于您的用例:

在云中而不是在应用中执行密集型任务 Execute intensive tasks in the cloud instead of in your app

发生有趣的事情时通知用户 Notify users when something interesting happens

在您的情况下,函数触发器将为Cloud Scheduler -> Pub Sub。希望对您有所帮助。

关于node.js - 如何在谷歌云中自动化 NodeJS 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61929509/

相关文章:

Angular forEach 循环从 observable 返回的数据(Firebase 驱动)

firebase - 优化 Firebase 数据库设计

google-app-engine - 为什么 gcloud 组件更新命令总是显示重新启动命令

sql - 无法从 BigQuery 中的时间戳中提取日期

node.js - 在 Laravel 项目中安装 NodeJS、Gulp 和 Elixir

node.js - 400 未找到项目的计费帐户。必须启用计费才能激活服务

node.js - 无法连接到数据库 - EADDRNOTAVAIL

java - 如何使用Java循环遍历Map中的数据

python - 无需凭据即可使用 Python Google Storage 客户端

angularjs - 如何将airbrake集成到我的Nodejs项目中?