从 Lambda 向 AWS IoT Core 发布 MQTT 消息

2024-04-24

我是 AWS 世界的新手,目前正在开发一项 Alexa 技能,该技能只需向 AWS IoT Core 代理发布一条 mqtt 消息,与之前创建的“事物”和主题进行交互。 目前我正在使用 boto3 但我不确定这是正确的路径。 这是代码,但在部署 Lambda 并从 Alexa 调用意图时它不起作用。

import boto3
import json

payload = json.dumps(
{'state': 
    { 
        'desired': { 'irrigation': 'on' } 
    }
})

client = boto3.client('iot-data', region_name='us-west-2')

response = client.publish(
    topic='$aws/things/gateway/shadow/update',
    qos=1,
    payload=payload
)

CloudWatch 没有显示任何异常,我只是从 Alexa 收到错误响应,并且如果订阅应触发发布的同一主题,则不会收到任何消息。

我正在使用“阴影”,也许这不是正确的做法?尝试了正常的主题,但效果不佳。 另外,我很想在发布之前调试代码。有没有一种简单的方法可以在不使用 CloudWatch 的情况下做到这一点?

TL;TR 只在网上找到了很多指南,都是这样的:iot core -> aws lambda。但我实际上正在寻找相反的情况:aws lambda -> 发布到物联网核心


另外,您可能需要这样的内联策略:

> {
>     "Version": "2012-10-17",
>     "Statement": [
>         {
>             "Effect": "Allow",
>             "Action": [
>                 "iot:Publish"
>             ],
>             "Resource": [
>                 "*"
>             ]
>         }
>     ] }

我根据几个月前第一次实现 lambda 发布时的另一篇 stackoverflow 帖子添加了这一点。直到几天前它都运行良好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Lambda 向 AWS IoT Core 发布 MQTT 消息 的相关文章

随机推荐

  • pytesseract 无法按预期识别文本?

    我正在尝试通过 opencv 和 pytesseract 运行一个简单的车牌图像来获取文本 但我无法从中获取任何内容 按照此处的教程进行操作 https Circuitdigest com microcontroller projects
  • 如何从控制器调用构造函数中具有参数(接口)的属性

    public class HMACAuthenticationAttribute Attribute IAsyncAuthorizationFilter public HMACAuthenticationAttribute IUser us
  • Couchbase 无法 MutateIn 多个带有 null 值的 upserts

    我有一个 Couchbase 文档 我想在一次调用中改变多个属性 如果其中一个属性值为 null 则 mutate 会失败并显示以下消息 KV错误 名称 EINVAL 描述 无效数据包 属性 内部 无效输入 和状态 Couchbase IO
  • 如何在滚动 iPhone 上向 tableview 添加元素?

    我正在使用 UITableView 列出来自 Web 服务的元素 我需要做的是首先从Web服务调用20个元素并显示在列表中 当用户向下滚动时从Web服务调用另外20个记录并添加到表格视图 这个怎么做 您可以从 Web 服务加载 20 个项目
  • 如何防止视图将其模型传递给部分视图,而是传递 null?

    在 ASP NET MVC 和使用 Razor 中 我有一个视图 父视图 调用另一个视图 子视图 作为部分视图 两者都是强类型的 但它们具有不同的模型类型 通常 在这些情况下 我们会显式地将模型从父视图传递到子视图 Html Partial
  • 光标在 Google 地图应用程序中消失

    这确实很奇怪 使用 API v3 创建 Google 地图应用程序后 有时当我将光标悬停在地图上时 鼠标光标会消失 我需要与地图之外的几个控件进行交互 当我点击其中一个并且地图失去焦点后 问题就显现出来了 这事发生在别人身上过吗 我尝试将焦
  • 如何在 Bootstrap 中水平居中表格

    这是我的代码 我想做的是将这张桌子放在容器的中心 但相反 当我使用 容器 类时 它默认向左对齐 并且当我对 div 使用 容器流体类 时 它使用全宽度 我想将桌子水平居中 有人可以帮忙吗 div class container fluid
  • NaN 是假的吗?为什么 NaN === false 返回 false

    Why NaN false gt false NaN 不是假吗 Why NaN NaN gt 错误 但是 NaN NaN gt 正确 我绞尽脑汁想弄清楚这个问题 Falsy并且严格等于false是非常不同的事情 这就是为什么一个人有一个y而
  • 条件“可浏览”属性

    有没有办法使 可浏览 属性成为有条件的 以便应用它的属性有时会出现在属性页中 有时不会出现 谢谢 我不确定这是否适用于您的情况 但您可以通过调用下面的函数在运行时调整 可浏览 装饰
  • Mysql 客户端使用 `docker-compose run` 与 `docker-compose exec` 调用

    为什么调用时需要指定主机docker compose run e g docker compose run db container mysql uuser ppass db name h db container 似乎直接相当于 dock
  • 将 CSV 文件拆分为较小的文件但保留标题?

    我有一个巨大的 CSV 文件 有 100 万行 我想知道是否有一种方法可以将此文件拆分为较小的文件 但保留所有文件的第一行 CSV 标题 它似乎split速度非常快 但也非常有限 您不能向文件名添加后缀 例如 csv split l1100
  • 如何处理 Akka 子 actor 的长时间初始化?

    我有一个演员 它创建一个子演员来执行一些冗长的计算 问题是子 Actor 的初始化需要几秒钟 并且父 Actor 在子 Actor 创建和完全初始化之间发送给子 Actor 的所有消息都将被丢弃 这是我正在使用的代码的逻辑 class Ch
  • TypeScript 类型的并集被解析为类型的交集

    我有这个片段 class J constructor public foo number class B constructor public bar string interface Cache json J binary B funct
  • 如何预填写 Google 表单复选框?

    我看过这个问题 是否可以使用谷歌电子表格中的数据 预填写 谷歌表单 https stackoverflow com questions 20108511 is it possible to prefill a google form usi
  • 将“onclick”应用于 iFrame 中的所有元素

    如何使用 JavaScript DOM 来应用onclick事件到链接内部iframe 这是我正在尝试但不起作用的方法 document getElementById myIframe contentDocument getElements
  • 使用 JOIN(大表性能)Postgresql 进行 UPDATE FROM?

    我试图让以下查询以合理的性能执行 UPDATE order item imprint SET item new id oi item new id FROM order item oi INNER JOIN order item impri
  • 通过 Rails 访问 has_many 上的附加值

    我在访问 has many 上名为 permission 的附加参数的值时遇到了真正的麻烦 这可能是很简单的事情 我的 3 个型号是 class User lt ActiveRecord Base has many players user
  • CultureAndRegionInfoBuilder 不存在

    好吧 这是一个奇怪的事情 我正在尝试使用以下方法创建自定义文化 using System Globalization var x new CultureAndRegionInfoBuilder 但我收到了令人讨厌的红色 Resharper
  • 在 Firebase 项目中集成 Gmail 连接

    我开发了一个应用程序 它使用 gmail api 来获取来自用户的所有邮件 然后我将此应用程序分为一个示例 几乎是空的 和一个执行所有操作的片段 这样我以后就可以轻松地将我的片段集成到我团队的项目设置中 现在我的片段位于另一个项目中 gma
  • 从 Lambda 向 AWS IoT Core 发布 MQTT 消息

    我是 AWS 世界的新手 目前正在开发一项 Alexa 技能 该技能只需向 AWS IoT Core 代理发布一条 mqtt 消息 与之前创建的 事物 和主题进行交互 目前我正在使用 boto3 但我不确定这是正确的路径 这是代码 但在部署