Publicar atualizações de valor de propriedade no Amazon DynamoDB - AWS IoT SiteWise

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

Publicar atualizações de valor de propriedade no Amazon DynamoDB

Você pode armazenar seus dados no Amazon DynamoDB para acessar facilmente dados históricos de ativos sem precisar consultar repetidamente a API, que retorna históricos de AWS IoT SiteWise valores paginados. Depois de concluir este tutorial, você pode facilmente criar software personalizado que consome os dados de ativos, como um mapa em tempo real de velocidade e direção do vento em um parque de energia eólica inteiro. Se você estiver procurando monitorar e visualizar os dados sem implementar uma solução de software personalizada, consulte Monitorar dados com o AWS IoT SiteWise Monitor.

Neste tutorial, você se baseia na AWS IoT SiteWise demonstração que fornece um conjunto de dados de amostra para um parque eólico. Você configura as atualizações de valor de propriedade da demonstração do parque de energia eólica para enviar dados pelas regras Core do AWS IoT a uma tabela do DynamoDB criada por você. Quando você ativa as atualizações do valor da propriedade, AWS IoT SiteWise envia seus dados para as AWS IoT Core mensagens do MQTT. Em seguida, você pode definir regras AWS IoT principais que executam ações, como a ação do DynamoDB, dependendo do conteúdo dessas mensagens. Para ter mais informações, consulte Interagir com outros serviços da AWS.

Pré-requisitos

Para concluir este tutorial, você precisará do seguinte:

  • Uma AWS conta. Se você não tiver uma, consulte Configurando um Conta da AWS.

  • Um computador de desenvolvimento executando Windows, macOS, Linux ou Unix para acessar o. AWS Management Console Para obter mais informações, consulte Conceitos básicos sobre o AWS Management Console.

  • Um usuário do IAM com permissões de administrador.

  • Uma demonstração em funcionamento de um parque AWS IoT SiteWise eólico. Quando você configura a demonstração, ela define modelos e ativos AWS IoT SiteWise e transmite dados para eles para representar um parque eólico. Para ter mais informações, consulte Usando a AWS IoT SiteWise demonstração.

Configurando AWS IoT SiteWise para publicar atualizações de valores de propriedades

Neste procedimento, habilite as notificações de valor de propriedade das propriedades Wind Speed dos ativos da turbina de demonstração. Depois de ativar as notificações de valor da propriedade, AWS IoT SiteWise publica cada atualização de valor em uma mensagem MQTT no Core. AWS IoT

Como habilitar notificações de atualização de valor de propriedade nas propriedades do ativo
  1. Faça login no AWS IoT SiteWise console.

  2. Analise as AWS regiões em que AWS IoT SiteWise há suporte e troque de AWS região, se necessário. Mude para uma região onde você está executando a demonstração do AWS IoT SiteWise .

  3. No painel de navegação à esquerda, escolha Ativos.

    
            AWS IoT SiteWise Captura de tela do elemento de navegação esquerdo “Ativos”.
  4. Selecione a seta ao lado de Demo Wind Farm Asset para expandir a hierarquia do ativo do parque de energia eólica.

    
            AWS IoT SiteWise Captura de tela da hierarquia Demo Wind Farm Asset "”.
  5. Escolha uma turbina de demonstração e escolha Edit (Editar).

    
            AWS IoT SiteWise Captura de tela Demo Turbine Asset "”.
  6. Atualize o status de notificação da propriedade Wind Speed para ATIVADO.

    
            AWS IoT SiteWise Captura de tela “Editar status da notificação”.
  7. Escolha Save asset (Salvar ativo) na parte inferior da página.

  8. Repita as etapas 5 a 7 para cada ativo da turbina de demonstração.

  9. Escolha uma turbina de demonstração (por exemplo, Demo Turbine Asset 1).

  10. Selecione Measurements (Medidas).

  11. Selecione o ícone de cópia ao lado da propriedade Wind Speed para copiar o tópico de notificação para a área de transferência. Salve o tópico de notificação para usar mais adiante neste tutorial. Você só precisa registrar o tópico de notificação de uma turbina.

    
            AWS IoT SiteWise Captura de tela “Copiar tópico de notificação”.

    O tópico de notificação deve ser semelhante ao exemplo a seguir.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

Criando uma regra no AWS IoT Core

Nesse procedimento, você cria uma regra no AWS IoT Core que analisa as mensagens de notificação do valor da propriedade e insere dados em uma tabela do DynamoDB. AWS IoT As regras básicas analisam as mensagens do MQTT e executam ações com base no conteúdo e no tópico de cada mensagem. É possível criar uma regra com uma ação do DynamoDB para inserir dados em uma tabela do DynamoDB criada como parte deste tutorial.

Como criar uma regra com uma ação do DynamoDB
  1. Navegue até o console do AWS IoT. Se um botão Get started (Começar a usar) for exibido, selecione-o.

  2. No painel de navegação esquerdo, escolha Agir e Regras.

    
            AWS IoT Captura de tela principal “Criar uma regra”.
  3. Se uma caixa de diálogo Você ainda não tem regras, selecione Criar uma regra. De outro modo, escolha Create (Criar).

  4. Insira um nome e uma descrição para a regra.

    
            AWS IoT Captura de tela principal da página “Criar uma regra” com “Nome” e “Descrição” destacados.
  5. Encontre o tópico de notificação que você salvou anteriormente neste tutorial.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

    Substitua o ID do ativo (o ID posteriorassets/) no tópico por um+. Isso seleciona a propriedade de velocidade do vento para todos os ativos de turbinas eólicas de demonstração. O filtro de tópico + aceita todos os nós de um único nível em um tópico. Seu tópico deve se parecer com o exemplo a seguir.

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
  6. Insira a instrução de consulta de regra a seguir. Substitua o tópico na seção FROM pelo tópico de notificação.

    SELECT payload.assetId AS asset, (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed, timestamp() AS timestamp FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'
  7. Em Set one or more actions (Definir uma ou mais ações), selecione Add action (Adicionar ação).

    
            AWS IoT Captura de tela principal da página “Criar uma regra” com “Adicionar ação” destacado.
  8. Na página Selecionar uma ação, escolha Dividir mensagem em várias colunas de uma tabela do DynamoDB (DynamoDBv2).

    
            AWS IoT Captura de tela principal da página “Selecionar uma ação” com a ação do DynamoDBv2 destacada.
  9. Escolha Configurar ação na parte inferior da página.

  10. Na página Configurar ação, selecione Criar um novo recurso.

    O console do DynamoDB é aberto em uma nova guia. Mantenha a guia de ação da regra aberta enquanto você conclui os procedimentos a seguir.

Criar uma tabela do DynamoDB

Neste procedimento, crie uma tabela do DynamoDB para receber dados de velocidade do vento da ação da regra.

Como criar uma tabela do DynamoDB
  1. No painel do console do DynamoDB, escolha Criar tabela.

  2. Insira um nome para a tabela.

    
            Captura de tela da página "Criar tabela" do DynamoDB.
  3. Em Primary key (Chave primária), faça o seguinte:

    1. Digite timestamp como a chave de partição.

    2. Escolha o tipo Number (Número).

    3. Marque a caixa de seleção Add sort key (Adicionar chave de classificação).

    4. Digite asset como a chave de classificação e deixe o tipo de chave de classificação padrão String.

  4. Escolha Criar.

    Quando o aviso Table is being created (A tabela está sendo criada) desaparece, a tabela está pronta.

  5. Retorne à guia com a página Configure action (Configurar ação). Mantenha a guia do DynamoDB aberta enquanto conclui os procedimentos a seguir.

Configurar a ação de regra do DynamoDB

Neste procedimento, configure a ação de regra do DynamoDB para inserir dados de atualizações de valor de propriedade na nova tabela do DynamoDB.

Como configurar a ação de regra do DynamoDB
  1. Na página Configurar ação atualize a lista Nome da tabela e selecione a nova tabela do DynamoDB.

    
            AWS IoT Captura de tela principal da página “Configurar ação do DynamoDBv2” com o localizador de tabelas destacado.
  2. Escolha Criar função para criar uma função do IAM que conceda acesso AWS IoT principal para realizar a ação da regra.

  3. Forneça um nome de função e escolha Create role (Criar função).

    
            AWS IoT Captura de tela principal da página “Configurar ação do DynamoDBv2” com “Criar função” destacado.
  4. Selecione Adicionar ação.

  5. Escolha Create rule (Criar regra) na parte inferior da página para concluir a criação da regra.

    Os dados de ativo de demonstração devem começar a aparecer na tabela do DynamoDB.

Explorar dados no DynamoDB

Neste procedimento, você explora os dados da velocidade do vento dos ativos de demonstração na nova tabela do DynamoDB.

Como explorar dados de ativo no DynamoDB
  1. Retorne à guia com a tabela do DynamoDB aberta.

  2. Na tabela criada anteriormente, escolha a guia Items (Itens) para exibir os dados na tabela. Atualize a página se você não vir linhas na tabela. Se as linhas não aparecerem após alguns minutos, consulte Solucionar problemas de uma regra.

    
            Captura de tela da página da tabela do DynamoDB com a guia “Itens” em destaque.
  3. Em uma linha na tabela, escolha o ícone de edição para expandir os dados.

    
            Captura de tela da página da tabela do DynamoDB com o ícone de edição em uma linha em destaque.
  4. Escolha a seta ao lado da estrutura windspeed para expandir a lista de pontos de dados de velocidade do vento. Cada lista reflete um lote de pontos de dados de velocidade do vento enviados AWS IoT SiteWise pela demonstração do parque eólico. Talvez você queira um formato de dados diferente se configurar uma ação de regra para seu próprio uso. Para ter mais informações, consulte Consultar mensagens de notificação de propriedade de ativos.

    
            Captura de tela do painel "Editar linha da tabela" do DynamoDB.

Agora que você concluiu o tutorial, pode desabilitar ou excluir a regra e excluir sua tabela do DynamoDB para evitar a geração de cobranças adicionais. Siga o próximo procedimento para limpar seus recursos.

Limpar recursos após o tutorial

Depois de concluir o tutorial, limpe os recursos para evitar a geração de cobranças adicionais. Seus ativos de demonstração do parque eólico são excluídos no final da duração que você escolheu ao criar a demonstração. Você também pode excluir a demonstração manualmente. Para ter mais informações, consulte Excluindo a demonstração AWS IoT SiteWise.

Use os procedimentos a seguir para desativar as notificações de atualização do valor da propriedade (se você não excluiu a demonstração), desativar ou excluir sua AWS IoT regra e excluir sua tabela do DynamoDB.

Como desabilitar notificações de atualização de valor de propriedade nas propriedades do ativo
  1. Navegue até o console do AWS IoT SiteWise.

  2. No painel de navegação à esquerda, escolha Ativos.

    
            AWS IoT SiteWise Captura de tela do elemento de navegação esquerdo “Ativos”.
  3. Selecione a seta ao lado de Demo Wind Farm Asset para expandir a hierarquia do ativo do parque de energia eólica.

    
            AWS IoT SiteWise Captura de tela da hierarquia Demo Wind Farm Asset "”.
  4. Escolha uma turbina de demonstração e escolha Edit (Editar).

    
            AWS IoT SiteWise Captura de tela Demo Turbine Asset "”.
  5. Atualize o status de notificação da propriedade Wind Speed para DESATIVADO.

    
            AWS IoT SiteWise Captura de tela “Editar status da notificação”.
  6. Escolha Save asset (Salvar ativo) na parte inferior da página.

  7. Repita as etapas de 4 a 6 para cada ativo da turbina de demonstração.

Para desativar ou excluir uma regra no AWS IoT Core
  1. Navegue até o console do AWS IoT.

  2. No painel de navegação esquerdo, escolha Agir e Regras.

  3. Escolha o menu na regra e escolha Disable (Desativar) ou Delete (Excluir).

    
            AWS IoT Captura de tela principal da página “Regras” com o menu de regras aberto e destacado.
Como excluir uma tabela do DynamoDB
  1. Navegue até o console do DynamoDB.

  2. No painel de navegação à esquerda, selecione Tables (Tabelas).

  3. Escolha a tabela criada anteriormente, WindSpeedData.

  4. Selecione Delete table (Excluir tabela).

    
            Captura de tela da página "Tabela" do DynamoDB com "Excluir tabela" em destaque.
  5. Na caixa de diálogo Delete table (Excluir tabela), selecione Delete (Excluir).

    
            Captura de tela da caixa de diálogo "Excluir tabela" do DynamoDB com "Excluir" em destaque.

Solucionar problemas de uma regra

Siga as etapas neste procedimento para solucionar problemas de sua regra se os dados do ativo de demonstração não estiverem aparecendo na tabela do DynamoDB conforme o esperado. Neste procedimento, configure a ação de regra de republicação como uma ação de erro para exibir mensagens de erro no cliente de teste MQTT. Você também pode configurar o registro no CloudWatch Logs para solucionar problemas. Para obter mais informações, consulte Monitoramento com CloudWatch registros no Guia do AWS IoT desenvolvedor.

Como adicionar uma ação de erro de republicação a uma regra
  1. Navegue até o console do AWS IoT.

  2. No painel de navegação esquerdo, escolha Agir e Regras.

  3. Escolha a regra que criou anteriormente.

    
            AWS IoT Captura de tela principal da página “Regras”.
  4. Em Error action (Ação de erro), escolha Add action (Adicionar ação).

  5. Escolha Republicar uma mensagem em um AWS IoT tópico.

    
            AWS IoT Captura de tela principal da página “Selecionar uma ação” com a ação Republicar destacada.
  6. Escolha Configurar ação na parte inferior da página.

  7. Em Tópico, insira windspeed/error. AWS IoT O Core republicará as mensagens de erro neste tópico.

    
            AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o “Tópico” destacado.
  8. Escolha Selecionar para conceder acesso ao AWS IoT Core para executar a ação de erro usando a função que você criou anteriormente.

  9. Escolha Select (Selecionar) ao lado da função.

    
            AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o botão de seleção de função destacado.
  10. Escolha Update Role (Atualizar função) para adicionar outras permissões à função.

    
            AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o botão de atualização da função destacado.
  11. Escolha Add action (Adicionar ação) para concluir a adição da ação de erro.

  12. Escolha a seta para trás no canto superior esquerdo do console para retornar à página inicial do console AWS IoT Core.

Depois de configurar a ação de erro de republicação, você pode visualizar as mensagens de erro no cliente de teste do MQTT no AWS IoT Core.

No procedimento a seguir, você se inscreve no tópico de erro no cliente de teste MQTT.

Como se inscrever no tópico de ação de erro
  1. Na página de navegação à esquerda do console AWS IoT principal, escolha Testar.

  2. No campo Subscription topic (Tópico de assinatura), insira windspeed/error e selecione Subscribe to topic (Assinar o tópico).

    
            AWS IoT Captura de tela principal da página “Cliente MQTT” com o botão “Inscrever-se no tópico” destacado.
  3. Observe a exibição de mensagens de erro e explore a matriz failures em uma mensagem de erro para diagnosticar os seguintes problemas comuns:

    • Erros de digitação na instrução de consulta de regra

    • Permissões de função insuficientes

    Se os erros não aparecerem, verifique se a regra está habilitada e se você se inscreveu no mesmo tópico que configurou na ação de erro de republicação. Se os erros ainda não aparecerem, verifique se os ativos de parque eólico de demonstração ainda existem e se você ativou notificações nas propriedades da velocidade do vento. Se seus ativos de demonstração expiraram e desapareceram AWS IoT SiteWise, você pode criar uma nova demonstração e atualizar a declaração de consulta de regras para refletir o modelo de ativo e os IDs de propriedade atualizados.