Azure PowerShell을 사용하여 경로와 엔드포인트 만들기 및 삭제

이 문서에서는 Azure IoT Hub의 허브에서 경로 및 엔드포인트를 만든 다음 경로 및 엔드포인트를 삭제하는 방법을 보여 줍니다. Azure PowerShell을 사용하여 Azure Event Hubs, Azure Service Bus 큐 및 토픽, Azure Storage에 대한 경로 및 엔드포인트를 만드는 방법을 알아봅니다.

IoT Hub에서 라우팅의 작동 방식에 대한 자세한 내용은 IoT Hub 메시지 라우팅을 사용하여 디바이스-클라우드 메시지를 다른 엔드포인트로 보내기를 참조하세요. 메시지를 스토리지에 보내는 경로를 설정한 다음 시뮬레이션된 디바이스에서 테스트하는 방법을 알아보려면 자습서: IoT Hub 메시지 라우팅을 사용하여 디바이스 데이터를 Azure Storage로 보내기를 참조하세요.

필수 조건

문서에 설명된 절차는 다음 리소스를 사용합니다.

  • Azure PowerShell
  • IoT 허브
  • Azure의 엔드포인트 서비스

Azure PowerShell

이 문서에서는 Azure PowerShell을 통해 IoT Hub 및 기타 Azure 서비스를 사용합니다. Azure PowerShell을 로컬로 사용하려면 컴퓨터에 Azure PowerShell 모듈을 설치합니다. 또는 웹 브라우저에서 Azure PowerShell을 사용하려면 Azure Cloud Shell을 사용하도록 설정합니다.

IoT 허브

IoT Hub 경로를 만들려면 Azure IoT Hub를 사용하여 만든 IoT Hub가 필요합니다. 디바이스 메시지 및 이벤트 로그는 IoT Hub에서 시작됩니다.

IoT Hub 경로를 만들 때 사용할 다음 허브 리소스가 있어야 합니다.

엔드포인트 서비스

IoT Hub 경로를 만들려면 경로에 대한 엔드포인트로 사용할 하나 이상의 다른 Azure 서비스가 필요합니다. 엔드포인트는 디바이스 메시지 및 이벤트 로그를 받습니다. 엔드포인트에 사용하여 IoT hub 경로에 연결하는 Azure 서비스(Event Hubs, Service Bus 큐 또는 토픽 또는 Azure Storage)를 선택할 수 있습니다.

IoT Hub 경로에 엔드포인트를 만들 때 사용할 다음 리소스 중 하나가 있어야 합니다.

리소스 및 엔드포인트 만들기

IoT Hub에서 메시지를 보내거나 이벤트를 캡처하는 경로를 만들 수 있습니다. 각 경로에는 데이터 원본과 엔드포인트가 있습니다. 데이터 원본은 메시지 또는 이벤트 로그가 시작되는 위치입니다. 엔드포인트는 메시지 또는 이벤트 로그가 끝나는 위치입니다. IoT Hub에서 새 경로를 만들 때 데이터 원본 및 엔드포인트의 위치를 선택합니다. 그런 다음 라우팅 쿼리를 사용하여 엔드포인트로 이동하기 전에 메시지 또는 이벤트를 필터링합니다.

이벤트 허브, Service Bus 큐 또는 토픽, 스토리지 계정을 사용하여 IoT Hub 경로의 엔드포인트가 될 수 있습니다. 엔드포인트를 만드는 데 사용하는 서비스는 먼저 Azure 계정에 있어야 합니다.

참고 항목

로컬 버전의 Azure PowerShell을 사용하는 경우 시작하기 전에 Azure PowerShell에 로그인합니다.

다음 절차의 명령은 다음 참조를 사용합니다.

이벤트 허브 만들기

권한 부여 규칙이 있는 새 Event Hubs 리소스를 만들려면 다음을 수행합니다.

  1. 새 Event Hubs 네임스페이스를 만듭니다. NamespaceName의 경우 고유한 값을 사용합니다.

    New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
    
  2. 새 Event Hubs 엔터티를 만듭니다. Name의 경우 고유한 값을 사용합니다. NamespaceName의 경우 이전 단계에서 만든 네임스페이스의 이름을 사용합니다.

    New-AzEventHub -Name MyEventHub -NamespaceName MyNamespace -ResourceGroupName MyResourceGroup
    
  3. 새 권한 부여 규칙을 만듭니다. Name의 경우 EventHubName에 대한 엔터티의 이름을 사용합니다. 권한 부여 규칙 이름의 경우 고유한 값을 사용합니다.

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

    액세스에 대한 자세한 내용은 Azure Event Hubs에 대한 액세스 권한 부여를 참조하세요.

Event Hubs 엔드포인트 만들기

  1. 이벤트 허브에서 기본 연결 문자열을 가져옵니다. 나중에 사용할 수 있게 연결 문자열을 복사합니다.

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. Event Hubs에 대한 새 IoT Hub 엔드포인트를 만듭니다. 이전 단계의 기본 연결 문자열을 사용합니다. EndpointType 값은 EventHub이어야 합니다. 다른 모든 매개 변수의 경우 시나리오에 대한 값을 사용합니다.

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

    모든 라우팅 엔드포인트 옵션을 보려면 Add-AzIotHubRoutingEndpoint를 참조하세요.

IoT Hub 경로 만들기

IoT Hub에서 새 엔드포인트를 사용하여 새 경로를 만들 수 있습니다.

IoT Hub의 기본 대체 경로는 DeviceMessages에서 메시지를 수집합니다. 사용자 지정 경로에 대한 다른 옵션(예: DeviceConnectionStateEvents)을 선택합니다. 원본 옵션에 대한 자세한 내용은 Add-AzIotHubRoute를 참조하세요. Enabled 매개 변수는 스위치이므로 해당 매개 변수와 함께 값을 사용할 필요가 없습니다.

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

PowerShell은 다음 예제와 유사한 확인을 표시합니다.

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

IoT Hub 경로 업데이트

기존 경로를 변경하려면 다음 명령을 사용합니다. 예를 들어 명령을 사용하여 경로의 이름을 변경해 보세요.

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

Get-AzIotHubRoute 명령을 사용하여 경로의 변경 내용을 확인합니다.

Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub

엔드포인트 삭제

엔드포인트를 삭제하려면 다음을 수행합니다.

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

IoT Hub 경로 삭제

IoT Hub 경로를 삭제하려면 다음을 수행합니다.

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

경로를 삭제해도 Azure 계정의 엔드포인트는 삭제되지 않습니다. 경로 삭제와 별도로 엔드포인트를 삭제해야 합니다.

다음 단계

이 방법 문서에서는 Event Hubs, Service Bus 큐 및 토픽, Azure Storage에 대한 경로 및 엔드포인트를 만드는 방법을 알아보았습니다.

메시지 라우팅에 대한 자세한 내용은 자습서: IoT Hub 메시지 라우팅을 사용하여 Azure Storage에 디바이스 데이터 보내기를 참조하세요. 이 자습서에서는 스토리지 경로를 만들고 IoT Hub의 디바이스를 사용하여 테스트합니다.