Tworzenie i usuwanie tras i punktów końcowych przy użyciu usługi Azure Resource Manager
W tym artykule przedstawiono sposób eksportowania szablonu Azure IoT Hub, dodawania trasy do centrum IoT, a następnie ponownego wdrażania szablonu w centrum IoT przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure PowerShell. Szablon usługi Azure Resource Manager umożliwia tworzenie tras i punktów końcowych dla Azure Event Hubs, kolejek i tematów Azure Service Bus oraz usługi Azure Storage.
Szablony usługi Azure Resource Manager są przydatne, gdy chcesz zdefiniować zasoby przy użyciu pliku JSON. Każdy zasób platformy Azure ma szablon definiujący składniki używane w tym zasobie. Możesz wyeksportować wszystkie szablony zasobów platformy Azure.
Ważne
Gdy używasz szablonu Resource Manager do wdrożenia zasobu, szablon zastępuje dowolny istniejący zasób typu wdrażanego.
Podczas tworzenia nowego centrum IoT zastępowanie istniejącego wdrożonego zasobu nie jest problemem. Aby utworzyć nowe centrum IoT, możesz użyć podstawowego szablonu , który ma wymagane właściwości, zamiast eksportować istniejący szablon z już wdrożonego centrum IoT.
Jeśli jednak dodasz trasę do istniejącego szablonu usługi IoT Hub Resource Manager, użyj szablonu wyeksportowanego z centrum IoT Hub, aby upewnić się, że wszystkie istniejące zasoby i właściwości pozostaną połączone po wdrożeniu zaktualizowanego szablonu. Zasoby, które zostały już wdrożone, nie zostaną zastąpione. Na przykład wyeksportowany szablon Resource Manager, który został wcześniej wdrożony, może zawierać informacje o magazynie dla centrum IoT, jeśli połączono go z magazynem.
Aby dowiedzieć się więcej na temat sposobu działania routingu w IoT Hub, zobacz Używanie routingu komunikatów IoT Hub do wysyłania komunikatów z urządzenia do chmury do różnych punktów końcowych. Aby zapoznać się z krokami konfigurowania trasy, która wysyła komunikaty do magazynu, a następnie testować na symulowanym urządzeniu, zobacz Samouczek: wysyłanie danych urządzenia do usługi Azure Storage przy użyciu routingu komunikatów IoT Hub.
Wymagania wstępne
Procedury opisane w artykule korzystają z następujących zasobów:
- Szablon usługi Azure Resource Manager
- Centrum IoT Hub.
- Usługa punktu końcowego na platformie Azure
Szablon usługi Azure Resource Manager
W tym artykule użyto szablonu usługi Azure Resource Manager w Azure Portal do pracy z usługami IoT Hub i innymi usługami platformy Azure. Aby dowiedzieć się więcej na temat używania szablonów Resource Manager, zobacz Co to są szablony usługi Azure Resource Manager?
Iot
Aby utworzyć trasę centrum IoT, potrzebujesz centrum IoT utworzonego przy użyciu Azure IoT Hub. Komunikaty urządzeń i dzienniki zdarzeń pochodzą z centrum IoT Hub.
Upewnij się, że podczas tworzenia trasy centrum IoT Hub należy użyć następującego zasobu centrum:
- Centrum IoT w subskrypcji platformy Azure. Jeśli nie masz jeszcze centrum, możesz wykonać kroki tworzenia centrum IoT Przy użyciu szablonu usługi Azure Resource Manager (PowerShell).
Usługa punktu końcowego
Aby utworzyć trasę centrum IoT, musisz użyć co najmniej jednej innej usługi platformy Azure jako punktu końcowego do trasy. Punkt końcowy odbiera komunikaty urządzeń i dzienniki zdarzeń. Możesz wybrać usługę platformy Azure używaną dla punktu końcowego do nawiązania połączenia z trasą centrum IoT: Event Hubs, kolejki lub tematy usługi Service Bus lub Azure Storage.
Pamiętaj, aby użyć jednego z następujących zasobów podczas tworzenia punktu końcowego trasy centrum IoT:
Zasób usługi Event Hubs (z kontenerem). Jeśli musisz utworzyć nowy zasób usługi Event Hubs, zobacz Szybki start: tworzenie centrum zdarzeń przy użyciu szablonu Resource Manager.
Zasób kolejki usługi Service Bus. Jeśli musisz utworzyć nową kolejkę usługi Service Bus, zobacz Szybki start: tworzenie przestrzeni nazw usługi Service Bus i kolejki przy użyciu szablonu Resource Manager.
Zasób tematu usługi Service Bus. Jeśli musisz utworzyć nowy temat usługi Service Bus, zobacz Szybki start: tworzenie przestrzeni nazw usługi Service Bus z tematem i subskrypcją przy użyciu szablonu Resource Manager.
Zasób usługi Azure Storage. Jeśli musisz utworzyć nową usługę Azure Storage, zobacz Tworzenie konta magazynu.
Tworzenie trasy
W IoT Hub można utworzyć trasę służącą do wysyłania komunikatów lub przechwytywania zdarzeń. Każda trasa ma źródło danych i punkt końcowy. Źródło danych to miejsce, z którego pochodzą komunikaty lub dzienniki zdarzeń. Punkt końcowy to miejsce, w którym kończą się komunikaty lub dzienniki zdarzeń. Lokalizacje źródła danych i punktu końcowego są wybierane podczas tworzenia nowej trasy w centrum IoT. Następnie użyjesz zapytań routingu do filtrowania komunikatów lub zdarzeń przed przejściem do punktu końcowego.
Możesz użyć centrum zdarzeń, kolejki usługi Service Bus lub tematu albo konta usługi Azure Storage jako punktu końcowego trasy centrum IoT. Usługa używana do utworzenia punktu końcowego musi najpierw istnieć na koncie platformy Azure.
Eksportowanie szablonu Resource Manager z centrum IoT
Najpierw wyeksportuj szablon Resource Manager z centrum IoT, a następnie dodaj do niego trasę.
W Azure Portal przejdź do centrum IoT. W menu zasobów w obszarze Automatyzacja wybierz pozycję Eksportuj szablon.
W obszarze Eksportowanie szablonu na karcie Szablon wykonaj następujące kroki:
Wyświetl plik JSON wygenerowany dla centrum IoT.
Wyczyść pole wyboru Dołącz parametry .
Wybierz pozycję Pobierz, aby pobrać lokalną kopię pliku JSON.
Szablon zawiera kilka symboli zastępczych, których można użyć do dodawania funkcji lub usług do centrum IoT. W tym artykule dodaj wartości tylko do właściwości, które znajdują się lub są zagnieżdżone w obszarze
routing
.
Dodawanie nowego punktu końcowego do szablonu Resource Manager
W pliku JSON znajdź "endpoints": []
właściwość zagnieżdżona w obszarze "routing"
. Wykonaj kroki dodawania nowego punktu końcowego w oparciu o usługę platformy Azure wybraną dla punktu końcowego: Event Hubs, kolejki usługi Service Bus lub tematy lub Azure Storage.
Aby dowiedzieć się, jak utworzyć zasób usługi Event Hubs (z kontenerem), zobacz Szybki start: tworzenie centrum zdarzeń przy użyciu szablonu Resource Manager.
W Azure Portal pobierz podstawowe parametry połączenia z zasobu usługi Event Hubs. W okienku Zasady dostępu współdzielonego zasobu wybierz jedną z zasad, aby wyświetlić informacje o kluczu i parametrach połączenia. Dodaj nazwę centrum zdarzeń do ścieżki jednostki na końcu parametrów połączenia. Użyj na przykład nazwy ;EntityPath=my-event-hubs
. Ta nazwa to nazwa centrum zdarzeń, a nie nazwa przestrzeni nazw.
W przypadku name
programu użyj unikatowej wartości punktu końcowego usługi Event Hubs.
id
Pozostaw parametr jako pusty ciąg. Usługa platformy Azure udostępnia id
wartość podczas wdrażania punktu końcowego.
"routing": {
"endpoints": {
"serviceBusQueues": [],
"serviceBusTopics": [],
"eventHubs": [
{
"connectionString": "my Event Hubs connection string + entity path",
"authenticationType": "keyBased",
"name": "my-event-hubs-endpoint",
"id": "",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"resourceGroup": "my-resource-group"
}
],
"storageContainers": [],
"cosmosDBSqlCollections": []
},
},
Dodawanie nowej trasy do szablonu Resource Manager
W pliku JSON znajdź "routes": []
właściwość zagnieżdżona w obszarze "routing"
i dodaj następującą nową trasę zgodnie z wybraną usługą punktu końcowego: Event Hubs, Kolejki usługi Service Bus lub tematy lub Azure Storage.
Domyślna trasa rezerwowa zbiera komunikaty z DeviceMessages
. Wybierz inną opcję, na przykład DeviceConnectionStateEvents
. Aby uzyskać więcej informacji na temat opcji źródłowych, zobacz az iot hub route.
Przestroga
Jeśli zastąpisz wszystkie istniejące wartości "routes"
wartości tras, które są używane w poniższych przykładach kodu, istniejące trasy zostaną usunięte podczas wdrażania. Aby zachować istniejące trasy, dodaj nowy obiekt trasy do "routes"
listy.
Aby uzyskać więcej informacji na temat szablonu, zobacz Azure Resource Manager definicji zasobu szablonu.
"routes": [
{
"name": "MyIotHubRoute",
"source": "DeviceConnectionStateEvents",
"condition": "true",
"endpointNames": [
"my-event-hubs-endpoint"
],
"isEnabled": true
}
],
Zapisz plik JSON.
Wdrażanie szablonu Resource Manager
Po dodaniu nowego punktu końcowego i trasy do szablonu Resource Manager można teraz wdrożyć plik JSON z powrotem do centrum IoT.
Wdrażanie lokalne
az deployment group create \
--name my-iot-hub-template \
--resource-group my-resource-group \
--template-file "my\path\to\template.json"
Wdrażanie usługi Azure Cloud Shell
Ponieważ usługa Azure Cloud Shell działa w przeglądarce internetowej, możesz przekazać plik szablonu przed uruchomieniem polecenia wdrożenia. Przekazany plik wymaga tylko nazwy pliku szablonu (zamiast całej ścieżki pliku) do użycia w parametrze template-file
.
az deployment group create \
--name my-iot-hub-template \
--resource-group my-resource-group \
--template-file "template.json"
Uwaga
Jeśli wdrożenie zakończy się niepowodzeniem, użyj przełącznika -verbose
, aby uzyskać informacje o tworzonych zasobach. Użyj przełącznika, -debug
aby uzyskać więcej informacji na temat debugowania.
Potwierdzanie wdrożenia
Aby potwierdzić, że szablon został pomyślnie wdrożony na platformie Azure, w Azure Portal przejdź do zasobu grupy zasobów. W menu zasobów w obszarze Ustawienia wybierz pozycję Wdrożenia , aby wyświetlić szablon na liście wdrożeń.
Aby wyświetlić nową trasę w Azure Portal, przejdź do zasobu IoT Hub. W okienku Routing komunikatów na karcie Trasy upewnij się, że trasa jest wyświetlana.
Następne kroki
W tym artykule z instrukcjami przedstawiono sposób tworzenia trasy i punktu końcowego dla usługi Event Hubs, kolejek i tematów usługi Service Bus oraz usługi Azure Storage.
Aby dowiedzieć się więcej na temat routingu komunikatów, zobacz Samouczek: wysyłanie danych urządzenia do usługi Azure Storage przy użyciu routingu komunikatów IoT Hub. W samouczku utworzysz trasę magazynu i przetestujesz ją za pomocą urządzenia w centrum IoT.