【问题标题】:AWS IoT MQTT over WebSocket Protocol基于 WebSocket 协议的 AWS IoT MQTT
【发布时间】:2016-05-22 14:12:41
【问题描述】:

我一直在关注 AWS IoT 文档,尝试开始使用 MQTT 教程,网址为 http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#mqtt-ws 在 Web 应用程序中设置与 AWS IoT 的 WebSocket 连接。第一步是通过向按照教程中的步骤创建的端点发出 GET 请求来启动 WebSocket 连接,但我收到此错误:

XMLHttpRequest cannot load <my endpoint> Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

我想知道是否有人遇到过这个错误,如果有,他们是如何解决的?

这是代码https://github.com/dwyl/learn-aws-iot/blob/2c8035728ec8228e296580c8714f3f7ace870fbe/src/js/components/App.js的链接

【问题讨论】:

  • 失败的 GET 请求是对 describe-endpoint API 还是打开 WebSocket?如果尝试打开 WebSocket,您是使用支持 WebSockets 的 Javascript 客户端还是向端点发出正常的 HTTP 请求?
  • 我正在通过 XMLHttpRequest 发出一个普通的 HTTP 请求,以使用格式为 wss://<endpoint>.iot.<region>.amazonaws.com/mqtt 的 URL 打开 Websocket,该 URL 已使用亚马逊签名版本 4 进行了签名

标签: amazon-web-services websocket mqtt iot aws-iot


【解决方案1】:

这是我如何打开频道的示例。我正在使用 Cognito unauth 角色作为订阅者。我也在使用 JS Paho 客户端。

http://draw.kyleroche.com/main.js

【讨论】:

  • 谢谢!你能分享你的SigV4Utils.getSignedUrl函数吗?
  • 是的,如果你能分享这个 utils 函数那就太好了。似乎在文档中的任何地方都找不到它
  • 查看here了解正在使用的实用功能。
  • 更多信息在docs
【解决方案2】:

AWS 实验室还在此处发布了一个 MQTT over WebSockets 参考示例:https://github.com/awslabs/aws-iot-examples

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 2017-07-24
    • 2019-08-13
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    相关资源
    最近更新 更多