Ponte MQTT - AWS IoT Greengrass

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á.

Ponte MQTT

O componente de ponte MQTT (aws.greengrass.clientdevices.mqtt.Bridge) retransmite mensagens MQTT entre dispositivos cliente, publicação/assinatura local do Greengrass e. AWS IoT Core Você pode usar esse componente para agir em mensagens MQTT de dispositivos cliente em componentes personalizados e sincronizar dispositivos cliente com o. Nuvem AWS

nota

Os dispositivos cliente são dispositivos IoT locais que se conectam a um dispositivo central do Greengrass para enviar mensagens e dados MQTT para processamento. Para ter mais informações, consulte Interaja com dispositivos IoT locais.

Você pode usar esse componente para retransmitir mensagens entre os seguintes agentes de mensagens:

  • MQTT local — O agente MQTT local manipula mensagens entre dispositivos cliente e um dispositivo principal.

  • Publicação/assinatura local — O agente de mensagens local do Greengrass manipula mensagens entre componentes em um dispositivo principal. Para obter mais informações sobre como interagir com essas mensagens nos componentes do Greengrass, consulte. Publique/assine mensagens locais

  • AWS IoT Core — O corretor AWS IoT Core MQTT lida com mensagens entre dispositivos Nuvem AWS e destinos de IoT. Para obter mais informações sobre como interagir com essas mensagens nos componentes do Greengrass, consulte. Publicar/assinar mensagens AWS IoT Core MQTT

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

Versões

Esse componente tem as seguintes versões:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Tipo

Este componente é um componente de plug-in (aws.greengrass.plugin). O núcleo do Greengrass executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo reinicia quando você altera a versão desse componente no dispositivo principal.

Esse componente usa o mesmo arquivo de log do núcleo do Greengrass. Para ter mais informações, consulte Monitore AWS IoT Greengrass os registros.

Para ter mais informações, consulte Tipos de componentes.

Sistema operacional

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:

  • Linux

  • Windows

Requisitos

Esse componente tem os seguintes requisitos:

  • Se você configurar o componente intermediário MQTT do dispositivo principal para usar uma porta diferente da porta padrão 8883, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para se conectar na porta em que o broker opera.

  • O componente de ponte MQTT tem suporte para ser executado em uma VPC.

Dependências

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console. Na página de detalhes do componente, procure a lista de dependências.

2.3.2

A tabela a seguir lista as dependências da versão 2.3.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.2.0 <2.6.0 Rígido
2.3.0 and 2.3.1

A tabela a seguir lista as dependências das versões 2.3.0 e 2.3.1 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.2.0 <2.5.0 Rígido
2.2.5 and 2.2.6

A tabela a seguir lista as dependências das versões 2.2.5 e 2.2.6 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.2.0 <2.5.0 Rígido
2.2.3 and 2.2.4

A tabela a seguir lista as dependências das versões 2.2.3 e 2.2.4 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.2.0 <2.4.0 Rígido
2.2.0 – 2.2.2

A tabela a seguir lista as dependências das versões 2.2.0 a 2.2.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.2.0 <2.3.0 Rígido
2.1.1

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.0.0 <2.2.0 Rígido
2.0.0 to 2.1.0

A tabela a seguir lista as dependências das versões 2.0.0 a 2.1.0 desse componente.

Dependência Versões compatíveis Tipo de dependência
Autenticação do dispositivo cliente >=2.0.0 <2.1.0 Rígido

Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.

Configuração

Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.

2.3.0 – 2.3.2
mqttTopicMapping

Os mapeamentos de tópicos que você deseja unir. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.

Esse objeto contém as seguintes informações:

topicMappingNameKey

O nome desse mapeamento de tópicos. Substitua topicMappingNameKey por um nome que ajude a identificar esse mapeamento de tópicos.

Esse objeto contém as seguintes informações:

topic

O tópico ou filtro de tópicos para fazer a ponte entre os corretores de origem e de destino.

Você pode usar os curingas de tópico + e # MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte os tópicos do MQTT no Guia do AWS IoT Core desenvolvedor.

targetTopicPrefix

O prefixo a ser adicionado ao tópico de destino quando esse componente retransmite a mensagem.

source

O agente de mensagens de origem. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

target

O agente de mensagens de destino. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

mqtt5 RouteOptions

(Opcional) Fornece opções para configurar mapeamentos de tópicos para conectar mensagens do tópico de origem ao tópico de destino.

Esse objeto contém as seguintes informações:

mqtt5 RouteOptionsNameKey

O nome das opções de rota para um mapeamento de tópicos. Substitua mqtt5 RouteOptionsNameKey pela topicMappingNamechave correspondente definida no mqttTopicMapping campo.

Esse objeto contém as seguintes informações:

Sem local

(Opcional) Quando ativada, a ponte não encaminha mensagens sobre um tópico publicado pela própria ponte. Use isso para evitar loops, da seguinte forma:

{ "mqtt5RouteOptions": { "toIoTCore": { "noLocal": true } }, "mqttTopicMapping": { "toIoTCore": { "topic": "device", "source": "LocalMqtt", "target": "IotCore" }, "toLocal": { "topic": "device", "source": "IotCore", "target": "LocalMqtt" } } }

noLocalsó é compatível com rotas em source que LocalMqtt o.

Padrão: False

retainAsPublished

(Opcional) Quando ativadas, as mensagens encaminhadas pela ponte têm o mesmo retain sinalizador das mensagens publicadas no agente para essa rota.

retainAsPublishedsó é compatível com rotas em source que LocalMqtt o.

Padrão: False

mqtt

(Opcional) Configurações do protocolo MQTT para comunicação com o corretor local.

versão

(Opcional) A versão do protocolo MQTT usada pela ponte para se comunicar com o corretor local. Deve ser igual à versão do MQTT selecionada na configuração do núcleo.

Escolha uma das seguintes opções:

  • mqtt3

  • mqtt5

Você deve implantar um agente MQTT quando o target campo source ou do mqttTopicMapping objeto estiver definido como. LocalMqtt Se você escolher a mqtt5 opção, deverá usar Corretora MQTT 5 (EMQX) o.

Padrão: mqtt3

ackTimeoutSeconds

(Opcional) Intervalo de tempo para aguardar os pacotes PUBACK, SUBACK ou UNSUBACK antes de falhar na operação.

Padrão: 60

connAckTimeoutSrta

(Opcional) Intervalo de tempo para esperar por um pacote CONNACK antes de desligar a conexão.

Padrão: 20000 (20 segundos)

pingTimeoutMs

(Opcional) A quantidade de tempo em milissegundos que a ponte espera para receber uma mensagem PINGACK do agente local. Se a espera exceder o tempo limite, a ponte será fechada e reabrirá a conexão MQTT. Esse valor deve ser menor quekeepAliveTimeoutSeconds.

Padrão: 30000 (30 segundos)

keepAliveTimeoutSegundos

(Opcional) A quantidade de tempo em segundos entre cada mensagem PING que a ponte envia para manter a conexão MQTT ativa. Esse valor deve ser maior quepingTimeoutMs.

Padrão: 60

maxReconnectDelaySrta

(Opcional) O tempo máximo em segundos para o MQTT se reconectar.

Padrão: 30000 (30 segundos)

minReconnectDelaySrta

(Opcional) O tempo mínimo em segundos para o MQTT se reconectar.

Receba o máximo

(Opcional) O número máximo de pacotes de QoS1 não reconhecidos que a ponte pode enviar.

Padrão: 100

maximumPacketSize

O número máximo de bytes que o cliente aceitará para um pacote MQTT.

Padrão: nulo (sem limite)

sessionExpiryInterval

(Opcional) A quantidade de tempo em segundos que você pode solicitar para que uma sessão dure entre a ponte e a corretora local.

Padrão: 4294967295 (a sessão nunca expira)

brokerUri

(Opcional) O URI do broker MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883. Use o seguinte formato e substitua a porta pela porta em que o corretor MQTT opera:ssl://localhost:port.

Padrão: ssl://localhost:8883

startupTimeoutSeconds

(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para BROKEN se ele exceder esse tempo limite.

Padrão: 120

exemplo Exemplo: atualização da mesclagem de configurações

O exemplo de atualização de configuração a seguir especifica o seguinte:

  • Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de clients/+/hello/world tópicos.

  • Retransmita mensagens de dispositivos cliente para publicação/assinatura local em tópicos que correspondam ao filtro de tópicos e adicione o events/input/ prefixo ao clients/+/detections tópico de destino. O tópico de destino resultante corresponde ao filtro de events/input/clients/+/detections tópicos.

  • Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o $aws/rules/StatusUpdateRule/ prefixo ao clients/+/status tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma AWS IoT regra chamada StatusUpdateRule para reduzir custos usando o Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
exemplo Exemplo: Configurando o MQTT 5

O exemplo de configuração a seguir atualiza o seguinte:

  • Permite que a ponte use o protocolo MQTT 5 com o broker local.

  • Configura a configuração de retenção de MQTT como publicada para o mapeamento de ClientDeviceHelloWorld tópicos.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } }, "mqtt5RouteOptions": { "ClientDeviceHelloWorld": { "retainAsPublished": true } }, "mqtt": { "version": "mqtt5" } }
2.2.6
mqttTopicMapping

Os mapeamentos de tópicos que você deseja unir. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.

Esse objeto contém as seguintes informações:

topicMappingNameKey

O nome desse mapeamento de tópicos. Substitua topicMappingNameKey por um nome que ajude a identificar esse mapeamento de tópicos.

Esse objeto contém as seguintes informações:

topic

O tópico ou filtro de tópicos para fazer a ponte entre os corretores de origem e de destino.

Você pode usar os curingas de tópico + e # MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte os tópicos do MQTT no Guia do AWS IoT Core desenvolvedor.

targetTopicPrefix

O prefixo a ser adicionado ao tópico de destino quando esse componente retransmite a mensagem.

source

O agente de mensagens de origem. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

target

O agente de mensagens de destino. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

brokerUri

(Opcional) O URI do broker MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883. Use o seguinte formato e substitua a porta pela porta em que o corretor MQTT opera:ssl://localhost:port.

Padrão: ssl://localhost:8883

startupTimeoutSeconds

(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para BROKEN se ele exceder esse tempo limite.

Padrão: 120

exemplo Exemplo: atualização da mesclagem de configurações

O exemplo de atualização de configuração a seguir especifica o seguinte:

  • Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de clients/+/hello/world tópicos.

  • Retransmita mensagens de dispositivos cliente para publicação/assinatura local em tópicos que correspondam ao filtro de tópicos e adicione o events/input/ prefixo ao clients/+/detections tópico de destino. O tópico de destino resultante corresponde ao filtro de events/input/clients/+/detections tópicos.

  • Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o $aws/rules/StatusUpdateRule/ prefixo ao clients/+/status tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma AWS IoT regra chamada StatusUpdateRule para reduzir custos usando o Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.2.0 - 2.2.5
mqttTopicMapping

Os mapeamentos de tópicos que você deseja unir. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.

Esse objeto contém as seguintes informações:

topicMappingNameKey

O nome desse mapeamento de tópicos. Substitua topicMappingNameKey por um nome que ajude a identificar esse mapeamento de tópicos.

Esse objeto contém as seguintes informações:

topic

O tópico ou filtro de tópicos para fazer a ponte entre os corretores de origem e de destino.

Você pode usar os curingas de tópico + e # MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte os tópicos do MQTT no Guia do AWS IoT Core desenvolvedor.

targetTopicPrefix

O prefixo a ser adicionado ao tópico de destino quando esse componente retransmite a mensagem.

source

O agente de mensagens de origem. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

target

O agente de mensagens de destino. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

brokerUri

(Opcional) O URI do broker MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883. Use o seguinte formato e substitua a porta pela porta em que o corretor MQTT opera:ssl://localhost:port.

Padrão: ssl://localhost:8883

exemplo Exemplo: atualização da mesclagem de configurações

O exemplo de atualização de configuração a seguir especifica o seguinte:

  • Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de clients/+/hello/world tópicos.

  • Retransmita mensagens de dispositivos cliente para publicação/assinatura local em tópicos que correspondam ao filtro de tópicos e adicione o events/input/ prefixo ao clients/+/detections tópico de destino. O tópico de destino resultante corresponde ao filtro de events/input/clients/+/detections tópicos.

  • Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o $aws/rules/StatusUpdateRule/ prefixo ao clients/+/status tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma AWS IoT regra chamada StatusUpdateRule para reduzir custos usando o Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.1.x
mqttTopicMapping

Os mapeamentos de tópicos que você deseja unir. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.

Esse objeto contém as seguintes informações:

topicMappingNameKey

O nome desse mapeamento de tópicos. Substitua topicMappingNameKey por um nome que ajude a identificar esse mapeamento de tópicos.

Esse objeto contém as seguintes informações:

topic

O tópico ou filtro de tópicos para fazer a ponte entre os corretores de origem e de destino.

Se você especificar o corretor de IotCore origem LocalMqtt ou de origem, poderá usar os curingas de tópico + e # MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte os tópicos do MQTT no Guia do AWS IoT Core desenvolvedor.

source

O agente de mensagens de origem. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

target

O agente de mensagens de destino. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

brokerUri

(Opcional) O URI do broker MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883. Use o seguinte formato e substitua a porta pela porta em que o corretor MQTT opera:ssl://localhost:port.

Padrão: ssl://localhost:8883

exemplo Exemplo: atualização da mesclagem de configurações

O exemplo de atualização de configuração a seguir especifica a retransmissão de mensagens de dispositivos cliente para AWS IoT Core tópicos no clients/MyClientDevice1/hello/world e. clients/MyClientDevice2/hello/world

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
2.0.x
mqttTopicMapping

Os mapeamentos de tópicos que você deseja unir. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.

Esse objeto contém as seguintes informações:

topicMappingNameKey

O nome desse mapeamento de tópicos. Substitua topicMappingNameKey por um nome que ajude a identificar esse mapeamento de tópicos.

Esse objeto contém as seguintes informações:

topic

O tópico ou filtro de tópicos para fazer a ponte entre os corretores de origem e de destino.

Se você especificar o corretor de IotCore origem LocalMqtt ou de origem, poderá usar os curingas de tópico + e # MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte os tópicos do MQTT no Guia do AWS IoT Core desenvolvedor.

source

O agente de mensagens de origem. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

target

O agente de mensagens de destino. Escolha uma das seguintes opções:

  • LocalMqtt— O agente MQTT local onde os dispositivos do cliente se comunicam.

  • Pubsub— O agente local de publicação/assinatura de mensagens do Greengrass.

  • IotCore— O agente de mensagens AWS IoT Core MQTT.

    nota

    A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefinir MQTT tempos limite e configurações de cache.

sourcee target deve ser diferente.

exemplo Exemplo: atualização da mesclagem de configurações

O exemplo de atualização de configuração a seguir especifica a retransmissão de mensagens de dispositivos cliente para AWS IoT Core tópicos no clients/MyClientDevice1/hello/world e. clients/MyClientDevice2/hello/world

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }

Arquivo de log local

Esse componente usa o mesmo arquivo de log do componente do núcleo do Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Para ver os registros desse componente
  • Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua /greengrass/v2 ou C:\greengrass\v2 pelo caminho para a pasta AWS IoT Greengrass raiz.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

A tabela a seguir descreve as alterações em cada versão do componente.

Version (Versão)

Alterações

2.3.2

Versão atualizada para a versão 2.5.0 da autenticação do dispositivo cliente.

2.3.1
Correções de erros e melhorias

Corrige um problema em que o cliente MQTT local entra em um loop de desconexão.

2.3.0
Novos atributos

Adiciona suporte ao MQTT5 para fazer a ponte entre fontes MQTT locais AWS IoT Core e fontes MQTT.

2.2.6

Novos atributos

Adiciona uma nova opção startupTimeoutSeconds de configuração.

2.2.5

Versão atualizada para a versão 2.4.0 da autenticação do dispositivo cliente.

2.2.4

Versão atualizada para a versão 2.3.0 de autenticação de dispositivo cliente Greengrass.

2.2.3

Esta versão contém correções de erros e melhorias.

2.2.2

Correções de erros e melhorias
  • Ajustes de registro.

2.2.1

Correções de erros e melhorias

Corrige problemas que podem resultar na falha da assinatura do MQTT bridge nos tópicos do MQTT.

2.2.0

Novos atributos

2.1.1

Correções de erros e melhorias
  • Corrige problemas com a forma como esse componente lida com as atualizações de redefinição de configuração.

  • Reduz a frequência de desconexões do cliente MQTT quando os certificados são alternados.

2.1.0

Novos atributos
  • Adiciona o brokerUri parâmetro, que permite usar uma porta de agente MQTT não padrão.

2.0.1

Esta versão inclui correções de erros e melhorias.

2.0.0

Versão inicial.