- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Edge Module Node 客户端无法通过 MQTT 连接到 Edge Hub。它会引发证书错误 - NotConnectedError:无法获取本地颁发者证书
。
证书是为客户端设置的一个选项,
var certFile = process.env.EdgeModuleCACertificateFile;
var connectionString = process.env.EdgeHubConnectionString
var Protocol = require('azure-iot-device-mqtt').Mqtt;
var Client = require('azure-iot-device').Client;
var client = Client.fromConnectionString(connectionString, Protocol);
var options = {
ca: fs.readFileSync(certFile,'utf-8').toString(),
};
client.setOptions(options,()=>{
console.log('Client transport option set');
});
client.open(connectCallback);
最佳答案
如果不了解您环境的一些详细信息,我无法提供帮助:
您是否在 docker 容器内运行?
您使用什么基础镜像?
您如何启动容器 - 是手动启动它还是让 EdgeAgent 为您启动它?
您可以尝试的一些事情:
1) 验证您是否正在使用 @modules-preview 代码。 NPM 使得这很容易出错。
PS F:\temp> npm list | findstr "azure-iot"
+-- azure-iot-device-mqtt@1.4.0-modules-preview
| +-- azure-iot-common@1.5.0-modules-preview
| +-- azure-iot-device@1.4.0-modules-preview
| | +-- azure-iot-http-base@1.3.3-modules-preview
| +-- azure-iot-mqtt-base@1.3.3-modules-preview
2) 验证您的连接字符串格式是否正确。它需要具有 moduleId= 和 gatewayHostName= 值。 gatewayHostName 应引用您的 EdgeHub 主机。
3) 验证 EdgeModuleCACertificateFile 中引用的证书文件是否存在并且看起来像有效的 PEM 文件(例如,包含在 -----BEGIN CERTIFICATE----/-----END CERTIFICATE---- 中的文本文件)中间有一堆编码文本行)。
关于node.js - 使用 Node sdk 将模块连接到 Edge Hub 时出错 - NotConnectedError : unable to get local issuer certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50006046/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!