Tworzenie i usuwanie tras i punktów końcowych przy użyciu interfejsu wiersza polecenia platformy Azure
W tym artykule pokazano, jak zarządzać trasami i punktami końcowymi usługi Azure IoT Hub przy użyciu interfejsu wiersza polecenia platformy Azure. Dowiedz się, jak używać interfejsu wiersza polecenia platformy Azure do tworzenia tras i punktów końcowych dla usługi Azure Event Hubs, kolejek i tematów usługi Azure Service Bus, usługi Azure Storage i usługi Cosmos DB.
Aby dowiedzieć się więcej o sposobie działania routingu w usłudze IoT Hub, zobacz Używanie routingu komunikatów usługi IoT Hub w celu wysyłania komunikatów z urządzenia do chmury do różnych punktów końcowych. Aby zapoznać się z konfigurowaniem trasy, która wysyła komunikaty do magazynu, a następnie testowania na urządzeniu symulowanym, zobacz Samouczek: wysyłanie danych urządzenia do usługi Azure Storage przy użyciu routingu komunikatów usługi IoT Hub.
Wymagania wstępne
Procedury opisane w artykule korzystają z następujących zasobów:
- Interfejs wiersza polecenia platformy Azure
- Centrum IoT Hub.
- Usługa punktu końcowego na platformie Azure
Interfejs wiersza polecenia platformy Azure
W tym artykule użyto interfejsu wiersza polecenia platformy Azure do pracy z usługą IoT Hub i innymi usługami platformy Azure. Możesz wybrać sposób uzyskiwania dostępu do interfejsu wiersza polecenia platformy Azure:
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Usługa IoT Hub
Masz centrum IoT Hub w ramach subskrypcji platformy Azure. Jeśli nie masz jeszcze centrum, możesz wykonać kroki opisane w temacie Tworzenie centrum IoT Hub.
Usługa punktu końcowego
Musisz użyć co najmniej jednej innej usługi platformy Azure jako punktu końcowego do trasy. Punkt końcowy odbiera komunikaty urządzenia i dzienniki zdarzeń.
Zdecyduj, która usługa platformy Azure ma być używana jako punkt końcowy do odbierania danych zdarzeń i urządzeń kierowanych: centrum zdarzeń, kolejki usługi lub tematu, konta magazynu lub kontenera usługi Cosmos DB. W przypadku usługi, której chcesz użyć, wykonaj kroki tworzenia usługi punktu końcowego.
Utwórz przestrzeń nazw usługi Event Hubs i centrum zdarzeń. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie centrum zdarzeń przy użyciu interfejsu wiersza polecenia platformy Azure.
Utwórz regułę autoryzacji, która będzie używana do nadawania usłudze IoT Hub uprawnień do wysyłania danych do centrum zdarzeń.
Napiwek
Wartość
name
RootManageSharedAccessKey
parametru jest nazwą domyślną, która zezwala na zarządzanie, wysyłanie, nasłuchiwanie oświadczeń (dostęp). Jeśli chcesz ograniczyć oświadczenia, nadajname
parametrowi własną unikatową nazwę i dołącz flagę--rights
, po której następuje jedna z oświadczeń. Na przykład--name my-name --rights Send
.az eventhubs eventhub authorization-rule create --resource-group my-resource-group --namespace-name my-routing-namespace --eventhub-name my-event-hubs --name RootManageSharedAccessKey
Aby uzyskać więcej informacji, zobacz Autoryzowanie dostępu do usługi Azure Event Hubs.
Tworzenie punktu końcowego
Wszystkie trasy usługi IoT Hub wskazują punkt końcowy, który będzie otrzymywać dane kierowanego urządzenia i zdarzenia. Więcej niż jedna trasa może wskazywać ten sam punkt końcowy. Obecnie usługa IoT Hub obsługuje punkty końcowe dla centrów zdarzeń, kolejek lub tematów usługi Service Bus, usługi Storage i Cosmos DB. Wystąpienie usługi używanej dla punktu końcowego musi istnieć w subskrypcji platformy Azure przed utworzeniem punktu końcowego.
Uwaga
W tym artykule użyto grupy poleceń az iot hub message-endpoint , która została wprowadzona w wersji 0.19.0 rozszerzenia azure-iot dla interfejsu wiersza polecenia platformy Azure. Poprzednie wersje rozszerzenia azure-iot używały grupy poleceń az iot hub routing-endpoint , która jest podobna i nadal obsługiwana, ale nie obsługuje tworzenia punktów końcowych usługi Cosmos DB.
Użyj następującego polecenia, aby zaktualizować do najnowszej wersji rozszerzenia azure-iot:
az extension update --name azure-iot
Aby utworzyć punkt końcowy usługi Event Hubs, użyj reguły autoryzacji utworzonej w wymaganiach wstępnych.
Użyj polecenia az eventhubs eventhub authorization-rule keys list, aby wyświetlić listę reguł autoryzacji. Podaj następujące wartości dla parametrów symbolu zastępczego:
parametr wartość eventhub_group Grupa zasobów centrum zdarzeń. eventhub_namespace Nazwa przestrzeni nazw usługi Event Hubs. eventhub_name Nazwa centrum zdarzeń. rule_name Nazwa reguły autoryzacji dla centrum zdarzeń. Jeśli skopiowano przykład w wymaganiach wstępnych, ta nazwa to RootManageSharedAccessKey
.az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
Skopiuj parametry połączenia centrum zdarzeń z danych wyjściowych.
Użyj polecenia az iot hub message-endpoint create eventhub, aby utworzyć niestandardowy punkt końcowy. Podaj następujące wartości dla parametrów symbolu zastępczego:
parametr wartość iothub_name Nazwa centrum IoT, w którym jest tworzony ten punkt końcowy. endpoint_name Unikatowa nazwa nowego punktu końcowego. eventhub_subscription Identyfikator subskrypcji centrum zdarzeń. Ten argument można pominąć, jeśli centrum zdarzeń znajduje się w tej samej subskrypcji co centrum IoT. eventhub_group Grupa zasobów centrum zdarzeń. Ten argument można pominąć, jeśli centrum zdarzeń znajduje się w tej samej grupie zasobów co centrum IoT. eventhub_connection_string Parametry połączenia skopiowane z reguły autoryzacji centrum zdarzeń. az iot hub message-endpoint create eventhub --hub-name {iothub_name} --endpoint-name {endpoint_name} --connection-string "{eventhub_connection_string}" --endpoint-subscription-id {eventhub_subscription} --endpoint-resource-group {eventhub_group}
Usuwanie punktu końcowego
Jeśli chcesz usunąć punkt końcowy z centrum IoT Hub, użyj polecenia az iot hub message-endpoint delete . Za pomocą tego polecenia można usunąć pojedynczy punkt końcowy, usunąć wszystkie punkty końcowe jednego typu lub usunąć wszystkie punkty końcowe z centrum.
Na przykład następujące polecenie usuwa wszystkie punkty końcowe w centrum IoT Hub, które wskazują na zasoby usługi Storage:
az iot hub message-endpoint delete --hub-name {iothub_name} --endpoint-type storage-container
Tworzenie trasy usługi IoT Hub
W usłudze IoT Hub możesz utworzyć trasę 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. Opcjonalnie możesz dodać zapytania do tras komunikatów w celu filtrowania komunikatów lub zdarzeń przed przejściem do punktu końcowego.
Uwaga
W tym artykule użyto grupy poleceń az iot hub message-route , która została wprowadzona w wersji 0.19.0 rozszerzenia azure-iot dla interfejsu wiersza polecenia platformy Azure. Poprzednie wersje rozszerzenia azure-iot używały grupy poleceń az iot hub route , która jest podobna i nadal obsługiwana.
Użyj następującego polecenia, aby zaktualizować do najnowszej wersji rozszerzenia azure-iot:
az extension update --name azure-iot
Użyj polecenia az iot hub message-route create, aby utworzyć nową trasę usługi IoT Hub przy użyciu tego punktu końcowego. Podaj następujące wartości dla parametrów symbolu zastępczego:
parametr wartość iothub_name Nazwa centrum IoT, w którym jest tworzona ta trasa. route_name Unikatowa nazwa nowej trasy. endpoint_name Nazwa punktu końcowego, do którego trasa będzie wysyłać dane. data_source Źródło trasy. Akceptowane wartości to: deviceconnectionstateevents
, ,devicejoblifecycleevents
,devicemessages
devicelifecycleevents
,digitaltwinchangeevents
, ,invalid
lubtwinchangeevents
.az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
Aby potwierdzić, że nowa trasa znajduje się w centrum IoT Hub, użyj polecenia az iot hub message-route list , aby wyświetlić wszystkie trasy w centrum IoT:
az iot hub message-route list --hub-name {iothub_name}
W interfejsie wiersza polecenia platformy Azure powinna zostać wyświetlona odpowiedź podobna do tego przykładu:
[ { "condition": "true", "endpointNames": [ "endpoint_name" ], "isEnabled": true, "name": "route_name", "source": "DeviceConnectionStateEvents" } ]
Aktualizowanie trasy usługi IoT Hub
Niektóre właściwości trasy można zaktualizować po jej utworzeniu. Możesz zmienić źródło, punkt końcowy, warunek lub włączony stan istniejącej trasy.
Użyj polecenia az iot hub message-route show, aby wyświetlić szczegóły trasy.
az iot hub message-route show --hub-name {iothub_name} --route-name {route_name}
Użyj polecenia az iot hub message-route update, aby zaktualizować właściwości trasy. Na przykład następujące polecenie aktualizuje źródło trasy.
az iot hub message-route update --hub-name {iothub_name} --route-name {route_name} --source devicejoblifecycleevents
Usuwanie trasy usługi IoT Hub
Użyj polecenia az iot hub message-route delete, aby usunąć trasę z centrum IoT Hub.
Usunięcie trasy nie powoduje usunięcia punktu końcowego, ponieważ inne trasy mogą wskazywać ten sam punkt końcowy. Jeśli chcesz usunąć punkt końcowy, możesz to zrobić niezależnie od usuwania trasy.
az iot hub message-route delete --hub-name {iothub_name} --route-name {route_name}
Zarządzanie trasą rezerwową
Trasa rezerwowa wysyła wszystkie komunikaty ze devicemessages
źródła, które nie spełniają warunków zapytania w żadnej z istniejących tras do wbudowanego punktu końcowego.
Użyj polecenia az iot hub message-route fallback show, aby wyświetlić stan trasy rezerwowej w centrum IoT.
az iot hub message-route fallback show --hub-name {iothub_name}
Użyj polecenia az iot hub message-route fallback set, aby włączyć lub wyłączyć trasę rezerwową w centrum IoT.
az iot hub message-route fallback set --hub-name {iothub_name} --enabled {true_false}
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 usługi IoT Hub. W tym samouczku utworzysz trasę magazynu i przetestujesz ją za pomocą urządzenia w centrum IoT.