Como trabalhar com destinos de regra de tópico HTTP - AWS IoT Core

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

Como trabalhar com destinos de regra de tópico HTTP

Um destino de regra de tópico HTTP é um serviço da Web para o qual o mecanismo de regras pode rotear dados de uma regra de tópico. Um AWS IoT Core recurso descreve o serviço web para AWS IoT. Os recursos de destino da regra de tópico podem ser compartilhados por regras diferentes.

Antes de AWS IoT Core poder enviar dados para outro serviço da Web, ele deve confirmar que pode acessar o endpoint do serviço.

Visão geral do destino da regra de tópico HTTP

Um destino de regra de tópico HTTP se refere a um serviço da Web que oferece suporte a uma URL de confirmação e a uma ou mais URLs de coleta de dados. O recurso de destino da regra de tópico HTTP contém a URL de confirmação do seu serviço Web. Ao configurar uma ação de regra de tópico HTTP, você especifica a URL real do endpoint que deve receber os dados junto com a URL de confirmação do serviço web. Após a confirmação do destino, a regra do tópico envia o resultado da instrução SQL para o endpoint HTTPS (e não para a URL de confirmação).

Um destino de regra de tópico HTTP pode estar em um dos seguintes estados:

ENABLED

O destino foi confirmado e pode ser usado por uma ação de regra. Um destino deve estar no estado ENABLED para que seja usado em uma regra. Você só pode habilitar destinos com status DISABLED.

DISABLED

O destino foi confirmado mas não pode ser usado por uma ação de regra. Isso é útil se você quiser impedir temporariamente o tráfego para seu endpoint sem precisar passar pelo processo de confirmação novamente. Você só pode desabilitar destinos com status ENABLED.

IN_PROGRESS

A confirmação do destino está em andamento.

ERRO

A confirmação do destino expirou.

Depois que um destino de regra de tópico HTTP for confirmado e ativado, ele poderá ser usado com qualquer regra em sua conta.

As seções a seguir descrevem ações comuns em destinos de regras de tópicos HTTP.

Criação de destinos de regras de tópicos HTTP

Você cria um destino de regra de tópico HTTP chamando a operação CreateTopicRuleDestination ou usando o console AWS IoT .

Depois de criar um destino, AWS IoT envia uma solicitação de confirmação para o URL de confirmação. A solicitação de confirmação tem o seguinte formato:

HTTP POST {confirmationUrl}/?confirmationToken={confirmationToken} Headers: x-amz-rules-engine-message-type: DestinationConfirmation x-amz-rules-engine-destination-arn:"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4" Content-Type: application/json Body: { "arn":"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4", "confirmationToken": "AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "enableUrl": "https://iot.us-east-1.amazonaws.com/confirmdestination/AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "messageType": "DestinationConfirmation" }

O conteúdo do pedido de confirmação inclui as seguintes informações:

arn

O nome do recurso da Amazon (ARN) do destino da regra de tópico a ser confirmado.

confirmationToken

O token de confirmação enviado por AWS IoT Core. O token no exemplo é truncado. Seu token será mais longo. Você precisará desse token para confirmar seu destino AWS IoT Core.

enableUrl

O URL para o qual você navega para confirmar um destino de regra de tópico.

messageType

O tipo de mensagem.

Confirmando destinos de regras de tópicos HTTP

Para concluir o processo de confirmação do endpoint, se você estiver usando o AWS CLI, execute as etapas a seguir após o URL de confirmação receber a solicitação de confirmação.

  1. Confirme se o destino está disposto a receber mensagens

    Para confirmar se o destino da regra de tópico está disposto a receber mensagens de IoT, chame a enableUrl na solicitação de confirmação ou execute a operação da ConfirmTopicRuleDestination API e transmita a confirmationToken partir da solicitação de confirmação.

  2. Defina o status da regra de tópico como ativado

    Depois de confirmar que o destino pode receber mensagens, você deve realizar a operação da UpdateTopicRuleDestination API para definir o status da regra de tópico comoENABLED.

Se você estiver usando o AWS IoT console, confirmationToken copie e cole na caixa de diálogo de confirmação do destino no AWS IoT console. Em seguida, você pode ativar a regra do tópico.

Enviando uma nova solicitação de confirmação

Para acionar uma nova mensagem de confirmação para um destino, faça uma chamada para UpdateTopicRuleDestination e defina o status do destino da regra de tópico como IN_PROGRESS.

Repita o processo de confirmação depois de enviar uma nova solicitação de confirmação.

Desativando e excluindo um destino de regra de tópico

Para desativar um destino, chame UpdateTopicRuleDestination e defina o status do destino da regra de tópico como DISABLED. Uma regra de tópico no estado DISABLED pode ser ativada novamente sem a necessidade de enviar uma nova solicitação de confirmação.

Para excluir um destino de regra de tópico, faça uma chamada para DeleteTopicRuleDestination.