2016-02-11 44 views
12

Śledzę docs AWS IoT próbuje zacząć z samouczka MQTT na http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#mqtt-ws aby skonfigurować połączenie websocket do AWS Internetu przedmiotów w aplikacji internetowej. Pierwszym krokiem jest zainicjowanie połączenia websocket poprzez żądanie GET do punktu końcowego utworzonym przez czynności opisane w tutorialu ale dostaję ten błąd:AWS Internet przedmiotów MQTT nad websocket Protokół

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

Zastanawiałem się, czy ktoś napotkał ten błąd, a jeśli tak, to jak je rozwiązali?

Oto link do kodu https://github.com/dwyl/learn-aws-iot/blob/2c8035728ec8228e296580c8714f3f7ace870fbe/src/js/components/App.js

+0

Czy w przypadku braku żądania GET API describe-końcowy lub otworzyć websocket? Czy podczas próby otwarcia WebSocket korzystasz z klienta JavaScript obsługującego WebSockets lub wysyłającego normalne żądanie HTTP do punktu końcowego? –

+0

Tworzę normalne żądanie HTTP poprzez XMLHttpRequest, aby otworzyć websocket za pomocą adresu URL w postaci '' 'wss: // .iot. .amazonaws.com/mqtt''', który został podpisany przy użyciu podpisu Amazona 4 –

Odpowiedz

5

Oto przykład jak ja otwarcie kanału. Używam nieautentycznych ról Cognito jako subskrybenta. Używam również klienta JS Paho.

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

+4

Dzięki! Czy możesz udostępnić swoją funkcję 'SigV4Utils.getSignedUrl'? –

+2

Tak, byłoby wspaniale, gdybyś mógł dzielić się tą funkcją. Nie można go znaleźć nigdzie w dokumentach. –

+0

Zobacz [tutaj] (http://draw.kyleroche.com/sigv4utils.js) dla używanej funkcji narzędzia. –