gpt4 book ai didi

amazon-web-services - 如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题?

转载 作者:行者123 更新时间:2023-12-04 01:34:39 25 4
gpt4 key购买 nike

我想要一个简单的命令,就像我在 bash 中使用的那样,在 AWS Lambda 函数内将某些内容发布到 MQTT 上的主题。沿着:
mosquitto_pub -h my.server.com -t "灯光/设置"-m "on"

背景:我想用 Alexa 打开和关闭一盏灯。 Alexa 可以启动一个 Lambda 函数,在这个 Lambda 函数内部我想启动一个 MQTT 发布,因为灯可以监听 MQTT 主题并对那里的消息使用react。(也许有更简单的解决方案,但我们处于复杂的(大学)网络,这使得许多其他方法更加困难)

最佳答案

如果您使用的是 Python,我可以使用我的处理程序函数中的以下内容获取 AWS Lambda 函数以将消息发布到 AWS IoT:

import boto3
import json

client = boto3.client('iot-data', region_name='us-east-1')

# Change topic, qos and payload
response = client.publish(
topic='$aws/things/pi/shadow/update',
qos=1,
payload=json.dumps({"foo":"bar"})
)

您还需要确保角色(在您的 Lambda 函数配置中)附加了一个策略以允许访问 IoT 发布函数。在 IAM -> Roles 下,您可以将内联策略添加到您的 Lambda 函数角色中,例如:

{
"Version": "2016-6-25",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Publish"
],
"Resource": [
"*"
]
}
]
}

关于amazon-web-services - 如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37810289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com