问题标签 [aws-iot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1146 浏览

amazon-web-services - AWS IoT 和 Lambda 规则

我正在尝试通过 IoT 规则触发 AWS lambda 函数。我主要遵循本指南 - http://docs.aws.amazon.com/iot/latest/developerguide/iot-lambda-rule.html - 除了我没有使用物联网按钮,因此更新了一些内容以解决自定义规则。

我将消息发布到队列,如果我订阅该队列,我会看到它们在 MQTT 客户端中通过。我还在我的规则上设置了多个操作。一个插入 Dynamo,一个触发 SNS 短信。最后,也是对我来说最重要的,应该调用一个 Lambda 函数。那个似乎没有执行。每次我发布新的队列消息时,其他两个都会做我期望他们做的事情。

当我检查 lambda 上的 cloudwatch 日志时,我什么也没看到。没有错误,没有成功,就像动作根本没有触发一样。

如果我使用我希望发送的有效负载手动运行 Lambda 测试,它将成功执行。

有没有人见过这个。我不知道如何进行故障排除。

0 投票
2 回答
3633 浏览

android - 使用 Amazon Cognito 访问 AWS IoT 时出现禁止异常

我正在创建一个使用 Amazon Cognito 身份验证连接到 AWS IoT 的 android 应用程序。我能够成功地对用户进行身份验证,并且能够获得凭据。使用这些凭据更新事物影子时,总是返回 403 Forbidden Exception。我已经尝试了所有方法来解决问题,但没有找到解决方案。

我的 IAM 政策是:

用于连接端点的 Android 代码:

更新事物影子:

任何有关这方面的帮助将不胜感激。

0 投票
1 回答
225 浏览

java - 如何在 aws java sdk 中为 iot 规则设置操作?

我正在尝试使用适用于 java 的 aws sdk(而不是独立的 aws iot java sdk)创建规则。

到目前为止,我已经完成了这些

在上面的代码中,我陷入了困境topicRulePayload.setActions();

我该如何设置动作呢?我查看了它的源代码,发现它正在使用集合。

0 投票
1 回答
873 浏览

amazon-s3 - 在 lambda 函数中使用 mqtt 发布到 iot

所以我想做的是每当 s3 存储桶添加或删除文件时在我的 rpi 上设置一个 gpio 引脚。我目前有一个 lambda 函数设置为在发生这种情况时触发。现在的问题是获得设置标志的功能。我目前在我的 lambda 函数中拥有的是这个。但是我的设备影子上什么也没有。我的最终目标是在没有任何用户输入或 cron 作业的情况下添加或删除文件时,让我的 rpi 上的文件夹与存储桶保持同步。

0 投票
6 回答
7270 浏览

amazon-web-services - 使用带有 Cognito 身份验证用户的 Web 套接字连接到 AWS IoT

我正在尝试使用浏览器中的 Web 套接字连接到 AWS IoT。

我试过这个例子: https ://github.com/awslabs/aws-iot-examples/tree/master/mqttSample

另一个稍作修改,因此可以与 Cognito 身份池登录用户一起使用。 https://github.com/dwyl/learn-aws-iot/blob/master/src/js/utils/request.js#L27

如果我使用具有有效 IoT 策略的 IAM 用户,我可以成功连接,但如果我使用用户凭证,我会收到“101 Switching Protocols”响应,但随后会关闭。

与经过身份验证的用户关联的 IAM 角色是正确的,我可以签署请求并执行其他私有操作,例如调用 APIG 端点。套接字连接也没有响应 403。所以它可能不是权限问题。

还能是什么?

0 投票
1 回答
747 浏览

amazon-web-services - 无法使用 AWS 临时凭证 (STS) - 禁止

我需要向我的客户提供临时访问密钥以连接到 IoT 服务(发布、接收等)。为了提供这种访问权限,我创建了一个调用sts.assumeRole来创建临时 STS 密钥的 Lambda 函数。正在创建这些键并且看起来不错。

我在具有以下内联策略的角色中使用带有 Lambda 的假设角色:

注意:我添加了 ec2 权限来尝试辅助(简化)测试。

此角色具有开放的信任关系:

但是,在我的客户端代码(浏览器)中,我无法连接到 IoT,并且收到以下错误:

WebSocket 连接到“wss://my-endpoint.iot.us-east-1.amazonaws.com/mqtt?X-Amz-Algorithm=AWS4-H…Signature=my-signature”失败:WebSocket 握手期间出错:意外响应代码:403

尝试简化测试,我使用了 EC2,但收到另一个权限错误。使用的代码如下(使用 browserify 捆绑在浏览器中)。

错误:

发布https://ec2.us-east-1.amazonaws.com/ 401(未经授权)

错误:AWS 无法验证提供的访问凭证(…)“AuthFailure:AWS 无法验证提供的访问凭证”

0 投票
1 回答
5277 浏览

arduino - 将 esp8266 连接到 AWS IoT

我正在尝试使用https://github.com/heskew/aws-sdk-arduino将基于 ESP8266 的 WeMos D1 mini 连接到 Amazon Web Service AWS IoT 。

但是,当我刷新设备时,我得到一个 403,并显示以下消息:“凭据的范围应适用于正确的服务:'execute-api'。”

改变

AmazonIOTClient.cpp中导致 404:“没有找到与 http 方法 POST 的路由 things/my-thing/shadow 匹配的方法。” 并且,根据这个线程,服务应该是“iotdata”,请求才能成功。

有没有人遇到过同样的问题并想办法让它运行?如果是这样,我们将不胜感激。谢谢!

这里是示例的完整代码:

键.cpp文件:

0 投票
1 回答
252 浏览

python - Python MQTT 客户端发布未处理变量

我的代码:

当我运行脚本时,设备连接到 AWS IoT,并出现“输入要发布的消息:”提示。我输入“hello”(没有引号),它返回以下错误:

但是,当我用函数中的字符串替换 myPayload 变量时,它工作正常。同样,如果我设置 myPayload = "hello",它也可以工作。去掉引号 myPayload = hello,它会失败。

所以我确定 myAWSIoTMQTTClient.publish 正在寻找一个字符串,但为什么它不接受来自我的 input() 函数的字符串?

0 投票
0 回答
726 浏览

asp.net - M2Mqtt.NET-客户端和服务器无法通信,因为它们没有共同的算法

我正在使用M2Mqtt.NET连接到AWS IoT broker. 当我尝试连接时,The client and server cannot communicate, because they do not possess a common algorithm发生异常。

代码:

我尝试过的事情:

  • 检查并确认服务器正在运行TLS 1.2
  • 将两个证书都安装为受信任的
  • 创建新证书
  • 通过Resources文件使用证书
  • 在 HTTPS 上运行 Web 项目

项目设置:

  • ASP.NET MVC 项目

  • .NET 4.5.2

  • Windows 10 企业版 64 位(10.0,内部版本 10240)

0 投票
0 回答
48 浏览

aws-iot - 我如何通过 ec2 实例控制 aws iot

我想通过我的 EC2 实例控制 IOT 设备。可能吗 ?我在 aws ec2 中运行我的程序。我可以在本地控制设备。我如何使用 AWS IOT 连接 ec2