Share via


使用 Azure PowerShell 建立和刪除路由與端點

本文說明如何在 Azure IoT 中樞的中樞中建立路由和端點,然後刪除您的路由和端點。 了解如何使用 Azure PowerShell 來建立 Azure 事件中樞、Azure 服務匯流排佇列和主題,以及 Azure 儲存體的路由和端點。

若要深入了解路猶如何在 IoT 中樞運作,請參閱使用 IoT 中樞訊息路由將裝置到雲端的訊息傳送至不同端點。 若要逐步解說如何設定路由以將訊息傳送至儲存體,並在模擬裝置上進行測試,請參閱教學課程:使用 IoT 中樞訊息路由將裝置資料傳送至 Azure 儲存體

必要條件

本文描述的程序使用下列資源:

  • Azure PowerShell
  • IoT 中樞
  • Azure 中的端點服務

Azure PowerShell

本文使用 Azure PowerShell 來處理 IoT 中樞和其他 Azure 服務。 若要在本機使用 Azure PowerShell,請在電腦上安裝 Azure PowerShell 模組。 或者,若要在網頁瀏覽器中使用 Azure PowerShell,請啟用 Azure Cloud Shell

IoT 中樞

若要建立 IoT 中樞路由,您需要使用 Azure IoT 中樞所建立的 IoT 中樞。 裝置訊息和事件記錄檔來自您的 IoT 中樞。

當您建立 IoT 中樞路由時,請務必使用下列中樞資源:

端點服務

若要建立 IoT 中樞路由,您至少需要一個其他 Azure 服務,才能用作路由的端點。 端點會接收裝置訊息和事件記錄檔。 您可以選擇要使用何種 Azure 服務作為端點,以用於與 IoT 中樞路由連線: 事件中樞、服務匯流排佇列、主題或 Azure 儲存體。

當您建立 IoT 中樞路由的端點時,請務必使用下列其中一項資源:

建立資源和端點

在 IoT 中樞中,您可以建立路由來傳送訊息或擷取事件。 每個路由都有一個資料來源和端點。 訊息或事件記錄所源自的資料來源。 訊息或事件記錄檔最後出現所在的端點。 當您在 IoT 中樞中建立新路由時,可以選擇資料來源和端點的位置。 接著,您可以在訊息或事件前往端點之前,使用路由查詢進行篩選。

您可以使用事件中樞、服務匯流排佇列或主題,或儲存體帳戶作為 IoT 中樞路由的端點。 您用來建立端點的服務必須先存在於 Azure 帳戶中。

注意

如果您使用本機版本的 Azure PowerShell,請在開始之前登入 Azure PowerShell

下列程序中的命令會使用這些參考:

建立事件中樞

若要建立具有授權規則的新事件中樞資源:

  1. 建立新的事件中樞命名空間。 針對 NamespaceName,請使用唯一值。

    New-AzEventHubNamespace -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -Location MyLocation
    
  2. 建立新的事件中樞實體。 針對 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 事件中樞

建立事件中樞端點

  1. 從事件中樞取得主要連接字串。 複製連接字串以供後續使用。

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. 將新的 IoT 中樞端點建立至事件中樞。 使用上一個步驟中的主要連接字串。 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 中樞路由

在 IoT 中樞內使用新的端點,您就可以建立新的路由。

IoT 中樞的預設後援路由會從 DeviceMessages 收集訊息。 為自訂路由選擇不同的選項,例如 DeviceConnectionStateEvents。 如需來源選項的詳細資訊,請參閱 Add-AzIotHubRouteEnabled 參數是參數,因此您不需要搭配參數使用值。

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 中樞路由

若要變更現有的路由,請使用下列命令。 例如,請嘗試使用命令來變更路由的名稱。

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 中樞路由

若要刪除 IoT 中樞路由:

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

提示

刪除路由並不會刪除 Azure 帳戶中的任何端點。 您必須將刪除端點與刪除路由分開進行。

下一步

在本操作說明文章中,您已了解如何建立事件中樞、服務匯流排佇列和主題,以及 Azure 儲存體的路由和端點。

若要深入了解訊息路由,請參閱教學課程:使用 IoT 中樞訊息路由將裝置資料傳送至 Azure 儲存體。 在本教學課程中,您會建立儲存體路由,並使用 IoT 中樞中的裝置進行測試。