当前位置: 首页 > 知识库问答 >
问题:

在firebase云函数中使用MQTT客户端

笪涛
2023-03-14

我有一个firebase项目(blaze plan)和firestore数据库。我需要在云函数中使用mqtt客户机。

但是当我加上这一行

const mqtt = require('mqtt');

索引。js,它无法部署到firebase。

它给出了这个错误:

{@type:“type.googleapis.com/google.cloud.audit.AuditLog”,“status:{“code”:3,

“消息”:“加载用户代码时函数失败。这可能是由于用户代码中存在错误。错误消息:错误:请检查函数日志以查看错误原因:https://cloud.google.com/functions/docs/monitoring/logging#viewing_logs.有关其他故障排除文档,请访问https://cloud.google.com/functions/docs/troubleshooting#logging.请访问https://cloud.google.com/functions/docs/troubleshooting有关深入的疑难解答文档。“},

“authenticationInfo”:{“principalEmail”:“myMail”},“serviceName”:“cloudfunctions.googleapis.com”,“methodName”:“google.cloud.functions.v1.cloudfunctions Service.UpdateFunction”,“resourceName”:“projects/myProject”}

我的代码:

const functions = require("firebase-functions");
const admin = require('firebase-admin');

**const mqtt = require('mqtt');**

admin.initializeApp();

const db = admin.firestore();

谷歌云功能中是否有使用mqtt包的解决方案?

谢谢你的帮助。谢谢

共有1个答案

魏宸
2023-03-14

我解决了这个问题。

我在函数的父目录中运行“npm i mqtt-保存”命令。当它在函数目录中运行时,它被部署到Firebase没有任何问题。

作为命令的摘要:

mkdir myproject
cd myproject
firebase init // select Functions:configure and deploy Cloud Functions 
// it will create a functions directory.
cd functions
npm i mqtt --save
 类似资料:
  • 在我正在开发的Firebase web应用程序中,我想从邮件地址获取用户ID。为此,我正在尝试编写一个云函数。但它不起作用,或者我没有正确使用它。以下是当前代码(基于我在网上找到的一些示例): 运行“firebase deploy”时,我看不到任何问题。然后,我尝试用各种方法测试该功能,就像我在本教程之后编写的演示应用程序一样。 例如(现有和不存在的邮件地址): 但在任何一种情况下,我都不会在We

  • 问题内容: 我正在编写django应用程序,该应用程序应充当MQTT发布者和订阅者。 我应该在哪里启动Paho客户端并运行loop_forever()函数。 应该在wsgi.py中吗? 问题答案: 更新: 如果您需要在Django的多个线程运行,那么发布您的Django应用程序的信息,您可以使用辅助功能从发布泛美卫生组织的模块- https://eclipse.org/paho/clients/p

  • 安装:composer require imiphp/imi-mqtt 项目配置文件: [ 'components' => [ 'MQTT' => 'Imi\MQTT', ], ] MQTT 功能要求 PHP >= 7.2 使用 事件监听类: <?php namespace Imi\MQTT\Test; use Imi\MQTT\Client\Con

  • 在以前的GCP项目中,我们部署了基于Python的云功能(使用gcloud cli),理想情况下,我们希望继续使用Python实现Firebase云功能。所以我的问题是: > 是否可以部署基于Python的Firebase云功能?如果没有: 我们是否可以回到使用gcloud cli部署基于Python的GCP云函数,并且仍然让它们作为Firestore触发器工作?

  • 问题内容: 我正在尝试使用以下软件包使用TLS实现node.js mqtt客户端; https://www.npmjs.com/package/mqtt#client 在不使用TLS的情况下运行mqtt客户端的代码如下; 应该如何修改以上代码以在mqtt客户端上使用TLS? mosca MQTT代理是使用以下命令独立运行的; 问题答案: 应该足以将URL 的一部分更改为 。 自签名证书 使用自签名

  • mosca MQTT代理作为独立运行,使用下面的命令;