在过去的几天里,我一直在尝试使用 Greengrass v2 解决将消息从 Lambda 发布到 AWS 云的问题。
文档中甚至提供了 python 中的代码,只需要稍作修改。
当谈到文档中的 SDK v2 JS 时,AWS-CRT 库中很少提及发布功能。
我尝试使用该库中的组件创建代码,但看起来该库还需要一个带参数的脚本。
这是我的代码,需要安装 aws-iot-sdk-v2 js。
const iotsdk = require("aws-iot-device-sdk-v2");
const mqtt = iotsdk.mqtt;
const os = require("os");
const util = require("util");
const GROUP_ID = process.env.GROUP_ID;
const THING_NAME = process.env.AWS_IOT_THING_NAME;
const THING_ARN = process.env.AWS_IOT_THING_ARN;
(topic = "gg/message"),
(payload = JSON.stringify({ message: util.format("ping") }));
function greengrassHelloWorldRun() {
mqtt.MqttClientConnection.prototype.publish(topic, payload);
}
console.log(topic);
console.log(payload);
setInterval(greengrassHelloWorldRun, 5000);
exports.handler = function (event, context) {
console.log("event: " + JSON.stringify(event));
console.log("context: " + JSON.stringify(context));
};
我收到有关参数和 NAPI 的错误。
将此函数用作 greengrass 日志中的 lambda 组件时也会出现相同的错误
也许有人有一些示例如何使用带有 sdk v2 的 Node lambda 发布有关主题的一些消息。