As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Protocolos de comunicação do dispositivo
AWS IoT Core suporta dispositivos e clientes que usam os protocolos MQTT e MQTT over WebSocket Secure (WSS) para publicar e assinar mensagens, e dispositivos e clientes que usam o protocolo HTTPS para publicar mensagens. Todos os protocolos são compatíveis com IPv4 e IPv6. Esta seção descreve as diferentes opções de conexão para dispositivos e clientes.
TLS 1.2 e TLS 1.3
AWS IoT Core usa TLS
Os AWS IoT SDKs de dispositivos oferecem suporte a MQTT e MQTT via WSS e aos requisitos de segurança das conexões do cliente. Recomendamos usar os AWS IoT SDKs de dispositivos para conectar clientes à AWS IoT.
Protocolos, mapeamentos de porta e autenticação
A forma como um dispositivo ou cliente se conecta ao agente de mensagens usando um endpoint de dispositivo depende do protocolo usado. A tabela a seguir lista os protocolos que os endpoints do AWS IoT dispositivo suportam e os métodos e portas de autenticação que eles usam.
Protocolos, autenticação e mapeamentos de porta | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protocolo | Operações compatíveis | Autenticação | Porta | Nome do protocolo ALPN | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Acabou o MQTT WebSocket |
Publicar/assinar | Signature versão 4 | 443 |
N/D |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Acabou o MQTT WebSocket |
Publicar/assinar | Autenticação personalizada | 443 |
N/D |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Publicar/assinar |
Certificado do cliente X.509 |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT | Publicar/assinar | Certificado do cliente X.509 | 8883 | N/D | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Publicar/assinar |
Autenticação personalizada |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Somente publicação |
Signature versão 4 |
443 |
N/D |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Somente publicação |
Certificado do cliente X.509 |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Somente publicação | Certificado do cliente X.509 | 8443 | N/D | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Somente publicação | Autenticação personalizada | 443 | N/D |
Application Layer Protocol Negotiation (ALPN)
† Clientes que se conectam na porta 443 com autenticação de certificado de cliente X.509 devem implementar a extensão TLS de negociação de protocolo de camada de aplicativo (ALPN)ClientHello
Na porta 443, o endpoint IoT:Data-ATS suporta ALPN x-amzn-http-ca HTTP, mas o endpoint IoT:Jobs não.
Na porta 8443 HTTPS e na porta 443 MQTT com ALPN x-amzn-mqtt-ca, a autenticação personalizada não pode ser usada.
Os clientes se conectam aos endpoints Conta da AWS de seus dispositivos. Consulte AWS IoT dados do dispositivo e endpoints de serviço para ver informações sobre como encontrar os endpoints do dispositivo da sua conta.
nota
AWS Os SDKs não exigem o URL inteiro. Eles exigem apenas o nome do host do endpoint, como a pubsub.py
amostra do AWS IoT Device SDK for Python on
Conectando-se a AWS IoT Core | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protocolo |
Endpoint ou URL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT via WSS |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
|
Escolher um protocolo para a comunicação do seu dispositivo
Para a maioria das comunicações dos dispositivos de IoT por meio dos endpoints do dispositivo, convém usar os protocolos MQTT ou MQTT via WSS; no entanto, os endpoints do dispositivo também oferecem suporte a HTTPS. A tabela a seguir compara como AWS IoT Core usa os dois protocolos para comunicação do dispositivo.
AWS IoT protocolos de dispositivos side-by-side | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Atributo |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Suporte para publicação/assinatura |
Publicação e assinatura |
Somente publicação |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compatibilidade com o SDK |
AWS Os SDKs de dispositivos oferecem suporte aos protocolos MQTT e WSS |
Não há suporte para SDK, mas você pode usar métodos específicos de linguagem para fazer solicitações HTTPS |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Suporte à qualidade de serviço |
A QoS é compatível enviando um parâmetro de string de consulta ?qos=qos em que o valor pode ser 0 ou 1. Você pode adicionar essa string de consulta para publicar uma mensagem com o valor de QoS desejado. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pode receber mensagens perdidas enquanto o dispositivo estava off-line | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Suporte a campo de |
Sim |
Não |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Detecção de desconexão do dispositivo |
Sim |
Não |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comunicações seguras |
Sim. Consulte Protocolos, mapeamentos de porta e autenticação |
Sim. Consulte Protocolos, mapeamentos de porta e autenticação |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Definições de tópico |
Aplicativo definido |
Aplicativo definido |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Formato dos dados de mensagem |
Aplicativo definido |
Aplicativo definido |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sobrecarga do protocolo | Menor | Mais alto | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consumo de energia | Menor | Mais alto |
Limites de duração da conexão
Não é garantido que as conexões HTTPS durem mais do que o tempo necessário para receber e responder às solicitações.
A duração da conexão MQTT depende do atributo de autenticação usado. A tabela a seguir lista a duração máxima da conexão em condições ideais para cada atributo.
Duração da conexão MQTT por atributo de autenticação | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Atributo |
Duração máxima * |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Certificado do cliente X.509 |
1 a 2 semanas |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Autenticação personalizada |
1 a 2 semanas |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Signature versão 4 |
Até 24 horas |
* Não garantido
Com certificados X.509 e autenticação personalizada, a duração da conexão não tem um limite rígido, mas pode ser de apenas alguns minutos. Interrupções de conexão podem ocorrer por vários motivos. A lista a seguir contém alguns dos motivos mais comuns.
-
Interrupções na disponibilidade de Wi-Fi
-
Interrupções na conexão do provedor de serviços de Internet (ISP)
-
Patches de serviço
-
Implantações de serviços
-
Autoescalabilidade do serviço
-
Host de serviço indisponível
-
Problemas e atualizações do balanceador de carga
-
Erros no lado do cliente,
Seus dispositivos devem implementar estratégias para detectar desconexões e reconectar-se. Para obter mais informações sobre eventos de desconexão e orientações sobre como lidar com eles, consulte Eventos de conexão/desconexão em Eventos de ciclo de vida.