【以下的问题经过翻译处理】 你好,
我有两个启用了IoT端点的帐户。我的设备连接到帐户A上的IoT端点。在帐户A中,我还运行一个Lambda函数,通过IoT规则接收消息。 Lambda会确定是否需要将消息转发到B帐户。由于我也有其他依赖于B帐户的IoT消息的服务,因此我只想将MQTT消息重新发布到帐户B的IoT端点。
Lambda已配置为NodeJS 12.x。
让我们搁置IAM的事情。我已经为此设置了一些角色/策略,但我甚至还没有测试它们。
我在帐户A的Lambda中使用以下片段将消息发送到帐户B的IoT端点。
let iotData = new AWS.IotData({
endpoint: '<endpointOfAccountB>-ats.iot.eu-west-1.amazonaws.com'
});
let topic_params = {
topic: "my/topic/on/other/account",
payload: JSON.stringify(payload),
qos: 1
};
iotData.publish(topic_params).promise();
似乎会忽略endpoint属性,因为消息被发布在帐户A上。我也尝试过没有*-ats*(CLI的结果:aws iot describe-endpoint):
<endpointOfAccountB>.iot.eu-west-1.amazonaws.com -> 相同的结果。
当我打印iotDev.endpoint时,配置了正确的端点。
是否有一种使用IoTData sdk从A帐户向B帐户发布MQTT消息的方法?
我是否遗漏了什么?
如果需要更多详细信息,请随时询问。
最好的祝福,
Julian