Criar e eliminar rotas e pontos finais com Azure PowerShell

Este artigo mostra-lhe como criar uma rota e um ponto final no seu hub no Hub IoT do Azure e, em seguida, eliminar a rota e o ponto final. Saiba como utilizar Azure PowerShell para criar rotas e pontos finais para Hubs de Eventos do Azure, filas de Azure Service Bus e tópicos e Armazenamento do Azure.

Para saber mais sobre como funciona o encaminhamento no Hub IoT, consulte Utilizar o encaminhamento de mensagens Hub IoT para enviar mensagens do dispositivo para a cloud para diferentes pontos finais. Para percorrer a configuração de uma rota que envia mensagens para o armazenamento e, em seguida, testar num dispositivo simulado, veja Tutorial: Enviar dados do dispositivo para o Armazenamento do Microsoft Azure com Hub IoT encaminhamento de mensagens.

Pré-requisitos

Os procedimentos descritos no artigo utilizam os seguintes recursos:

  • Azure PowerShell
  • Um hub IoT
  • Um serviço de ponto final no Azure

Azure PowerShell

Este artigo utiliza Azure PowerShell para trabalhar com Hub IoT e outros serviços do Azure. Para utilizar Azure PowerShell localmente, instale o módulo Azure PowerShell no seu computador. Em alternativa, para utilizar Azure PowerShell num browser, ative o Azure Cloud Shell.

Hub IoT

Para criar uma rota do hub IoT, precisa de um hub IoT que criou com Hub IoT do Azure. As mensagens do dispositivo e os registos de eventos têm origem no seu hub IoT.

Certifique-se de que tem o seguinte recurso do hub para utilizar quando criar a rota do hub IoT:

Serviço de ponto final

Para criar uma rota do hub IoT, precisa de, pelo menos, um outro serviço do Azure para utilizar como um ponto final para a rota. O ponto final recebe mensagens do dispositivo e registos de eventos. Pode escolher o serviço do Azure que utiliza para um ponto final se ligar à rota do hub IoT: Hubs de Eventos, filas ou tópicos do Service Bus ou Armazenamento do Azure.

Certifique-se de que tem um dos seguintes recursos para utilizar quando criar um ponto final na rota do hub IoT:

Criar recursos e pontos finais

No Hub IoT, pode criar uma rota para enviar mensagens ou capturar eventos. Cada rota tem uma origem de dados e um ponto final. A origem de dados é onde as mensagens ou os registos de eventos têm origem. O ponto final é onde as mensagens ou os registos de eventos acabam. Pode escolher localizações para a origem de dados e o ponto final quando cria uma nova rota no seu hub IoT. Em seguida, utilize as consultas de encaminhamento para filtrar mensagens ou eventos antes de acederem ao ponto final.

Pode utilizar um hub de eventos, uma fila ou tópico do Service Bus ou uma conta de armazenamento para ser o ponto final da rota do hub IoT. O serviço que utiliza para criar o ponto final tem de existir primeiro na sua conta do Azure.

Nota

Se utilizar uma versão local do Azure PowerShell, inicie sessão para Azure PowerShell antes de começar.

Os comandos nos seguintes procedimentos utilizam estas referências:

Criar um hub de eventos

Para criar um novo recurso dos Hubs de Eventos que tenha uma regra de autorização:

  1. Crie um novo espaço de nomes dos Hubs de Eventos. Para NamespaceName, utilize um valor exclusivo.

    New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
    
  2. Crie a sua nova entidade dos Hubs de Eventos. Para Name, utilize um valor exclusivo. Para NamespaceName, utilize o nome do espaço de nomes que criou no passo anterior.

    New-AzEventHub -Name MyEventHub -NamespaceName MyNamespace -ResourceGroupName MyResourceGroup
    
  3. Crie uma nova regra de autorização. Para Name, utilize o nome da sua entidade para EventHubName. Para o nome da regra de autorização, utilize um valor exclusivo.

    New-AzEventHubAuthorizationRule -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule -Rights @('Manage', 'Send', 'Listen')
    

    Para obter mais informações sobre o acesso, veja Autorizar o acesso ao Hubs de Eventos do Azure.

Criar um ponto final dos Hubs de Eventos

  1. Obtenha a cadeia de ligação primária do hub de eventos. Copie a cadeia de ligação para utilizar mais tarde.

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. Crie um novo ponto final do hub IoT para os Hubs de Eventos. Utilize a cadeia de ligação primária do passo anterior. O valor de EndpointType tem de ser EventHub. Para todos os outros parâmetros, utilize os valores para o seu cenário.

    Add-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -EndpointType EventHub -EndpointResourceGroup MyResourceGroup -EndpointSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConnectionString "Endpoint=<my connection string>"
    

    Para ver todas as opções de ponto final de encaminhamento, veja Add-AzIotHubRoutingEndpoint.

Criar uma rota de Hub IoT

Com o novo ponto final no hub IoT, pode criar uma nova rota.

A rota de contingência predefinida no Hub IoT recolhe mensagens de DeviceMessages. Escolha uma opção diferente para a rota personalizada, como DeviceConnectionStateEvents. Para obter mais informações sobre as opções de origem, veja Add-AzIotHubRoute. O Enabled parâmetro é um comutador, pelo que não precisa de utilizar um valor com o parâmetro .

Add-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -Source DeviceLifecycleEvents -EndpointName MyEndpoint -Enabled

O PowerShell apresenta uma confirmação semelhante a este exemplo:

RouteName     : MyIotHub 
DataSource    : DeviceLifecycleEvents
EndpointNames : MyEndpoint
Condition     : true
IsEnabled     : True

Atualizar uma rota de Hub IoT

Para efetuar alterações a uma rota existente, utilize o seguinte comando. Por exemplo, experimente alterar o nome da rota com o comando .

Set-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute

Utilize o Get-AzIotHubRoute comando para confirmar a alteração na rota:

Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub

Eliminar um ponto final

Para eliminar um ponto final:

Remove-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -PassThru

Eliminar uma rota de Hub IoT

Para eliminar uma rota de Hub IoT:

Remove-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -PassThru

Dica

Eliminar uma rota não elimina pontos finais na sua conta do Azure. Tem de eliminar um ponto final separadamente da eliminação de uma rota.

Passos seguintes

Neste artigo de procedimentos, aprendeu a criar uma rota e ponto final para Hubs de Eventos, filas e tópicos do Service Bus e Armazenamento do Azure.

Para saber mais sobre o encaminhamento de mensagens, veja Tutorial: Enviar dados do dispositivo para o Armazenamento do Azure com Hub IoT encaminhamento de mensagens. No tutorial, vai criar uma rota de armazenamento e testá-la com um dispositivo no seu hub IoT.