2016-03-06 5 views
1

Я следую this tutorial для подключения Raspberry Pi к AWS IoT с использованием Node.js SDK. Я вижу следующее vim ~/.aws/credentialsAWS Отсутствует токен аутентификации

[default] 
aws_access_key_id = SOMETHING 
aws_secret_access_key = SOMETHINGELSE 

Когда я ввожу команду aws iot describe-endpoint я получаю следующий ответ:

{ 
    "endpointAddress": "A34SXNTM6AT7XH.iot.us-west-2.amazonaws.com" 
} 

Однако, когда я просматриваю к этому URL: https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com/ я получаю следующее сообщение об ошибке:

Missing Authentication Token 

enter image description here

Любая идея, что может быть неправильным и как это можно решить?

enter image description here

enter image description here

Вот файлы в папке ~/certs:

[email protected]:~/certs $ ls 
certificate.pem.crt private.pem.key public.pem.key root-CA.pem 

ответ

2

Mona,

Ваш заказ конечная точка отвечает двум протоколам: MQTT и HTTPS. Однако он не обслуживает какой-либо веб-контент и, следовательно, не работает в браузере в качестве URL-адреса сайта. «Конечный адрес», который вы получаете от aws iot describe-endpoint, будет подключен к вашему SDK устройства Node.js, который вы используете в примере с малиной Pi, который вы связали (нет https://).

Вы также можете взаимодействовать с тенями устройств, использующих версию HTTPS конечной точки, подписав запросы с AWS Signature версии 4. Подробнее об этом здесь: http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-rest-api.html и здесь: http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html хотя вы, вероятно, начать работать быстрее, используя AWS CLI или AWS SDK для выполнения таких операций.

Райан @ AWS

+3

Приятно видеть билет можно ответить непосредственно от сотрудников AWS. – BMW

+0

Привет, Райан, так ли это, учитывая тот факт, что я успешно выполнил все шаги в учебнике, этим «отсутствующим токеном аутентификации» следует пренебречь? –

+0

Также в файле cmdline.js он знает по умолчанию, чтобы посмотреть '~/certs'? 'По умолчанию: { область: 'мы-запад-2', протокол: 'mqtts', ClientId: clientIdDefault, PrivateKey: 'private.pem.key', clientCert: 'certificate.pem.crt', caCert: 'root-CA.crt', ' –

1

По умолчанию, примеры программ будет выглядеть в текущем каталоге для вашего сертификата и секретного ключа файлов, но вы также можете использовать «-f», чтобы указать другой каталог, если вы хотите , Что касается сообщения «Missing Authentication Token», которое вы заметили при попытке доступа к конечной точке из своего браузера, вы можете спокойно проигнорировать его.

0

Если вы используете «TLS взаимной аутентификации» вам необходимо подключить порт 8443, поэтому в вашем примере, было бы https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com:8443/things/<thing_name>/shadow