As regras de entrada de dados encaminham mensagens de outros serviços da Alibaba Cloud para clientes do ApsaraMQ for MQTT pelo protocolo MQTT. Chame as operações de API dos serviços da Alibaba Cloud para enviar dados aos clientes do ApsaraMQ for MQTT. Atualmente, apenas o ApsaraMQ for RocketMQ é compatível como source de dados.

Funcionamento das regras de entrada de dados
Uma regra de entrada de dados conecta um tópico do RocketMQ a um tópico do MQTT. Após a ativação da regra, as mensagens publicadas no tópico do RocketMQ são encaminhadas automaticamente para o tópico MQTT especificado e entregues aos clientes MQTT inscritos.
O MQTT oferece suporte a tópicos multinível (por exemplo, a/b/c), enquanto o RocketMQ aceita apenas tópicos de nível único. Para resolver essa diferença, o tópico MQTT de nível 1 mapeia para o tópico do RocketMQ, e os níveis mais profundos mapeiam para propriedades de mensagem do RocketMQ. Para obter a lógica completa de mapeamento, consulte Mapeamentos de estrutura de mensagens entre o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ.
Pré-requisitos
Antes de começar, verifique se você possui:
Uma instância do ApsaraMQ for MQTT com versão de kernel V3.x.x
Uma instância do ApsaraMQ for RocketMQ 4.0 na mesma região da instância MQTT
Um tópico criado nas instâncias do RocketMQ e do MQTT
Visualize a versão do kernel de uma instância do ApsaraMQ for MQTT na lista de instâncias ou na página Instance Details no console do ApsaraMQ for MQTT .
Limitações
Observações de uso
Durante a atualização de um broker do ApsaraMQ for RocketMQ, os clientes MQTT podem receber mensagens com maior latência pelas regras de entrada de dados. Para verificar as janelas de manutenção programada, consulte a Lista de Avisos.
Componentes da regra
Cada regra de entrada de dados tem três partes:
|
Componente |
Descrição |
Obrigatório |
|
Informações básicas |
ID da regra (globalmente único e imutável após a criação), descrição, status (ativado ou desativado) e tipo de regra. |
Sim |
|
Origem da regra |
Instância e tópico do ApsaraMQ for RocketMQ de onde as mensagens são extraídas. |
Sim |
|
Destino da regra |
Tópico do ApsaraMQ for MQTT para o qual as mensagens são entregues. |
Sim |
Crie uma regra de entrada de dados
Faça login no console do ApsaraMQ for MQTT. No painel de navegação à esquerda, clique em Instances.
Na barra de navegação superior, selecione a região da instância de destino. Clique em no nome da instância para abrir a página Instance Details.
No painel de navegação à esquerda, clique em Rules. No canto superior esquerdo da página Rules, clique em Create Rule.
-
Na etapa Configure Basic Information, defina os parâmetros a seguir e clique em Next.
Parâmetro
Exemplo
Descrição
Rule ID
111111
Identificador globalmente único. Aceita letras, dígitos, hifens (-) e sublinhados (_). Deve conter pelo menos uma letra ou dígito. Comprimento: 3 a 64 caracteres. Truncado automaticamente se exceder esse limite. Não pode ser alterado após a criação.
Description
migrate from rocketmq
Descrição textual da regra.
Status
Enable
Define se a regra deve ser ativada imediatamente. Valores válidos: Enable, Disable.
Rule Type
Data Inbound
Selecione Data Inbound para importar dados de outros serviços da Alibaba Cloud para o ApsaraMQ for MQTT.
-
Na etapa Configure Rule Source, especifique o source de dados e clique em Next.
Parâmetro
Exemplo
Descrição
Source Service Type
Message Queue for Apache RocketMQ
Serviço de nuvem de onde os dados são encaminhados. Apenas o ApsaraMQ for RocketMQ é compatível.
Message Queue for Apache RocketMQ Instance
MQ_INST_13801563067\\\\\*\_BbyOD2jQ
ID da instância do RocketMQ. Deve estar na mesma região da instância MQTT.
Topic
Topic A
Tópico do RocketMQ cujas mensagens são encaminhadas para o ApsaraMQ for MQTT.
-
Na etapa Configure Rule Destination, especifique o tópico MQTT de destino e clique em Create.
Parâmetro
Exemplo
Descrição
Topic
Topic B
Tópico MQTT para o qual os dados são entregues. Como o MQTT aceita tópicos multinível e o RocketMQ não, um tópico MQTT de nível 1 mapeia para o tópico do RocketMQ, e os demais níveis mapeiam para propriedades de mensagem do RocketMQ. Para mais detalhes, consulte Mapeamentos de estrutura de mensagens entre o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ.
Após a criação, a regra aparece na página Rules.
Gerencie regras existentes
Na página Rules, localize a regra desejada na lista. Na coluna Actions, escolha More e selecione uma operação:
|
Operação |
Etapas |
|
Edite uma regra |
Selecione Edit. Na página Edit Rule, modifique os parâmetros conforme necessário. Todos os parâmetros, exceto Rule ID, podem ser alterados. Clique em Save na etapa Configure Rule Destination para aplicar as alterações. |
|
Exclua uma regra |
Selecione Delete. Na caixa de diálogo de confirmação, clique em OK. |
|
Ative uma regra |
Selecione Enable. Na caixa de diálogo de confirmação, clique em OK. |
|
Desativar uma regra |
Selecione Disable. Na caixa de diálogo de confirmação, clique em OK. |
Tópicos relacionados
Para exportar dados do ApsaraMQ for MQTT para outros serviços da Alibaba Cloud, consulte Regras de saída de dados.
Para obter a lógica completa de mapeamento de mensagens entre MQTT e RocketMQ, consulte Mapeamentos de estrutura de mensagens entre o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ.
Para exportar eventos de conexão e desconexão de clientes, consulte Exportar eventos de status de clientes do ApsaraMQ for MQTT.