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

2024-04-22

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

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


如果您使用的是 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 -> 角色下,您可以向 Lambda 函数角色添加内联策略,例如:

{
   "Version": "2016-6-25",
   "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iot:Publish"
        ],
        "Resource": [
            "*"
        ]
    }
   ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题? 的相关文章

随机推荐

  • SendKeys 在 Fraps 上不起作用

    对于那些不熟悉 frap 的人 它的屏幕录制程序可以通过快捷键触发 我正在使用 SendKeys SendWait 调用来触发 fraps 我注意到这不会触发 fraps 来录制任何视频 但如果我手动按下该键 fraps 就会被录制 有没有
  • 具有代理设置的 AWS API Gateway 自定义授权方 - 将自定义标头添加到请求

    我拥有的 AWS API 网关设置为代理 proxy 自定义 Auth 函数 用于授权此代理设置的传入请求 自定义身份验证函数正在通过 上下文 对象传递我想要传递给请求的附加信息 如下所示 principalId yyyyyyyy 政策文件
  • symfony2 twig 渲染,抛出异常

    所以在我的基本模板中 我有 render EcsCrmBundle Module checkClock 然后我创建了 ModuleController php
  • NuGet 中的包依赖项解析和命名冲突

    在我的工作团队中 我们依赖两个 NuGet 源 来自 NuGet org 的官方源用于公共包 文件服务器上的文件夹用于内部包 这对我们来说效果很好 但我认为我们有一个潜在的问题 看起来 NuGet 根据包名称和版本号来解析依赖项 由于只有一
  • React hooks 状态没有在日志中更新

    如果我写 function Component const isLoading setLoading useState true const request gt setLoading true console log isLoading
  • 如何将action分派到特定的reducer?

    我有多个减速器 每个减速器都有一个类型 INIT 我想要实现的是 从触发动作的位置来看 只有相关的减速器才能接收该动作 有没有中间件可以做到这一点 您在创建减速器时是否重复使用减速器逻辑 你可以尝试这样的事情 function create
  • 如何应用结构偏移?

    我有一个结构 typedef struct foo int lengthOfArray1 int lengthOfArray2 int array1 int array2 foo 我需要为整个结构及其数组的内容分配足够的内存 所以假设每个数
  • C# Var 与 Target 类型的 new

    C 9 was 正式宣布 https devblogs microsoft com dotnet welcome to c 9 0 几天前 一项新的语言功能是 目标类型的新表达式 它的用法与var 比较以下声明 我很好奇哪个性能更高 如果有
  • Rails 复制了资源中的参数

    我正在使用 Angular 资源 但我不明白为什么 Rails 会重复参数并将其放在资源名称中 我只需要了解为什么会发生这种情况 post data title asdsad rails parameters Parameters titl
  • 如何在 nginx.conf 中引用操作系统环境变量

    在 nginx conf 中 设置变量后set name value 我可以像这样参考它 name 但是当我导出操作系统环境变量时 经过env name from env like https nginx org en docs ngx c
  • 如何查找数字的二进制表示形式中 1 的个数?

    从其他搜索中 我发现这个问题被称为 汉明权重 或 人口计数 这么多的统计数据已经给出了很多答案吗 我需要以简单的方式找到解决方案吗 复杂性并不是什么大问题 JavaScript 中是否有像 Java 的 Integer bitCount 这
  • 如何通过对 R 中的变量进行分组来为折线图着色?

    我制作了一个线图 看起来像这样 我有 50 个国家及其过去 10 年 GDP 的数据集 样本数据 Country variable value China Y2007 3 55218e 12 USA Y2007 1 45000e 13 Ja
  • Flask 中的动态导航

    我有一个在 Flask 中工作的非常简单的网站 它全部由 sqlite 数据库提供支持 每个页面都作为页表中的一行存储 其中包含路径 标题 内容等内容 该结构是分层的 其中页面可以有父级 例如 虽然 关于 可能是一个页面 但也可能有 关于
  • 如何比较嵌套数组中的父记录和子记录?

    我在层次结构中有如下所示的节点 Node 1 Node 1 1 Node 1 1 1 现在我想检查父节点和子节点之间的连接是否定义 父级和子级之间的连接定义如下 例如 Node 1 和 Node 1 1 之间 connections joi
  • 获取 Facebook 帖子的所有分享列表

    我可以使用 facebook sdk 获得评论和点赞列表 但我不能 找到一种方法来获取共享帖子的所有用户的列表 我也尝试了 fql 这是我用来获得喜欢的代码 facebook new Facebook config likes facebo
  • 验证错误模板-绑定异常

    我正在使用以下模板验证错误
  • g++ 包括 boost 库

    我用 bjam 构建了我的 boost 库 然后移动了所有 a文件到c Server libs boost 1 46 0 lib 如果我想编译我的程序 则会出现一些错误 编译命令 g Ic Server libs boost 1 46 0
  • STL:为向量编写“where”运算符

    我需要根据几个布尔谓词找到向量中的索引 ex vector
  • 将工作表复制到新工作簿并让按钮指向新工作簿中的宏?

    我有一个看起来像表单的工作表 它有一个 重置 按钮来清除值 我可以运行一个宏 将该工作表复制到新的工作簿中并将其通过电子邮件发送给某人 包含宏的模块被复制到其中 一切都几乎没问题 问题是 工作表上运行重置宏的按钮仍然指向原始文档 我怎样才能
  • 如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题?

    我想要一个简单的命令 就像我在 bash 中使用的那样 将某些内容发布到 AWS Lambda 函数内的 MQTT 主题 沿着以下思路 mosquitto pub h my server com t 灯 设置 m 开 背景 我想用 Alex